refactor(tvix/castore): remove remaining lazy_static usage

Change-Id: I86480cf625a457c4aa8153262f829d34c230b084
Co-authored-by: edef <edef@edef.eu>
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12613
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
This commit is contained in:
Florian Klink 2024-10-13 18:47:47 +03:00 committed by clbot
parent cdbdd2d04e
commit f0d594789e
4 changed files with 8 additions and 16 deletions

1
tvix/Cargo.lock generated
View file

@ -4584,7 +4584,6 @@ dependencies = [
"futures",
"hex-literal",
"hyper-util",
"lazy_static",
"libc",
"object_store",
"parking_lot",

View file

@ -15179,10 +15179,6 @@ rec {
name = "hyper-util";
packageId = "hyper-util";
}
{
name = "lazy_static";
packageId = "lazy_static";
}
{
name = "libc";
packageId = "libc";

View file

@ -14,7 +14,6 @@ data-encoding = { workspace = true }
digest = { workspace = true }
fastcdc = { workspace = true, features = ["tokio"] }
futures = { workspace = true }
lazy_static = { workspace = true }
object_store = { workspace = true, features = ["http"] }
parking_lot = { workspace = true }
pin-project-lite = { workspace = true }

View file

@ -99,7 +99,6 @@
use erased_serde::deserialize;
use futures::future::BoxFuture;
use futures::FutureExt;
use lazy_static::lazy_static;
use serde::de::DeserializeOwned;
use serde_tagged::de::{BoxFnSeed, SeedFactory};
use serde_tagged::util::TagString;
@ -108,7 +107,7 @@ use std::cell::Cell;
use std::collections::BTreeMap;
use std::collections::HashMap;
use std::marker::PhantomData;
use std::sync::Arc;
use std::sync::{Arc, LazyLock};
use tonic::async_trait;
/// Resolves tag names to the corresponding Config type.
@ -261,14 +260,13 @@ pub fn with_registry<R>(reg: &'static Registry, f: impl FnOnce() -> R) -> R {
result
}
lazy_static! {
/// The provided registry of tvix_castore, with all builtin BlobStore/DirectoryStore implementations
pub static ref REG: Registry = {
let mut reg = Default::default();
add_default_services(&mut reg);
reg
};
}
/// The provided registry of tvix_castore, with all builtin BlobStore/DirectoryStore implementations
pub static REG: LazyLock<&'static Registry> = LazyLock::new(|| {
let mut reg = Default::default();
add_default_services(&mut reg);
// explicitly leak to get an &'static, so that we gain `&Registry: Send` from `Registry: Sync`
Box::leak(Box::new(reg))
});
// ---------- End of generic registry code --------- //