about summary refs log tree commit diff
path: root/tvix/store/src/pathinfoservice
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-10-13T16·09+0300
committerflokli <flokli@flokli.de>2024-10-17T22·15+0000
commit1c80bc4b5b2736e9421fc8a6f833f1e592e08642 (patch)
treea4d58eec75f230bbf559933a85d19c25ed35e8b7 /tvix/store/src/pathinfoservice
parentf0d594789ee01df43de50198adef91a11e2a355a (diff)
refactor(tvix/store): remove use of lazy_static r/8825
This is now supported in the standard library via std::sync::LazyLock,
but requires some manual shuffling around of code.

Change-Id: Ifca792f4d2dbc36b703de4a4dfa406015ab86da7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12614
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/store/src/pathinfoservice')
-rw-r--r--tvix/store/src/pathinfoservice/from_addr.rs8
-rw-r--r--tvix/store/src/pathinfoservice/lru.rs20
2 files changed, 12 insertions, 16 deletions
diff --git a/tvix/store/src/pathinfoservice/from_addr.rs b/tvix/store/src/pathinfoservice/from_addr.rs
index 3dfb08c9e817..683457345c6c 100644
--- a/tvix/store/src/pathinfoservice/from_addr.rs
+++ b/tvix/store/src/pathinfoservice/from_addr.rs
@@ -57,16 +57,14 @@ pub async fn from_addr(
 mod tests {
     use super::from_addr;
     use crate::composition::{Composition, DeserializeWithRegistry, ServiceBuilder, REG};
-    use lazy_static::lazy_static;
     use rstest::rstest;
+    use std::sync::LazyLock;
     use tempfile::TempDir;
     use tvix_castore::blobservice::{BlobService, MemoryBlobServiceConfig};
     use tvix_castore::directoryservice::{DirectoryService, MemoryDirectoryServiceConfig};
 
-    lazy_static! {
-        static ref TMPDIR_REDB_1: TempDir = TempDir::new().unwrap();
-        static ref TMPDIR_REDB_2: TempDir = TempDir::new().unwrap();
-    }
+    static TMPDIR_REDB_1: LazyLock<TempDir> = LazyLock::new(|| TempDir::new().unwrap());
+    static TMPDIR_REDB_2: LazyLock<TempDir> = LazyLock::new(|| TempDir::new().unwrap());
 
     // the gRPC tests below don't fail, because we connect lazily.
 
diff --git a/tvix/store/src/pathinfoservice/lru.rs b/tvix/store/src/pathinfoservice/lru.rs
index 2d8d52e3c9f6..3055d73c22f9 100644
--- a/tvix/store/src/pathinfoservice/lru.rs
+++ b/tvix/store/src/pathinfoservice/lru.rs
@@ -86,22 +86,20 @@ impl ServiceBuilder for LruPathInfoServiceConfig {
 #[cfg(test)]
 mod test {
     use nix_compat::store_path::StorePath;
-    use std::num::NonZeroUsize;
+    use std::{num::NonZeroUsize, sync::LazyLock};
 
     use crate::{
         pathinfoservice::{LruPathInfoService, PathInfo, PathInfoService},
         tests::fixtures::PATH_INFO,
     };
-    use lazy_static::lazy_static;
-
-    lazy_static! {
-        static ref PATHINFO_2: PathInfo = {
-            let mut p = PATH_INFO.clone();
-            p.store_path = StorePath::from_name_and_digest_fixed("dummy", [1; 20]).unwrap();
-            p
-        };
-        static ref PATHINFO_2_DIGEST: [u8; 20] = *PATHINFO_2.store_path.digest();
-    }
+    static PATHINFO_2: LazyLock<PathInfo> = LazyLock::new(|| {
+        let mut p = PATH_INFO.clone();
+        p.store_path = StorePath::from_name_and_digest_fixed("dummy", [1; 20]).unwrap();
+        p
+    });
+
+    static PATHINFO_2_DIGEST: LazyLock<[u8; 20]> =
+        LazyLock::new(|| *PATHINFO_2.store_path.digest());
 
     #[tokio::test]
     async fn evict() {