diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/once_cell/examples/lazy_static.rs | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/once_cell/examples/lazy_static.rs')
-rw-r--r-- | vendor/once_cell/examples/lazy_static.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/vendor/once_cell/examples/lazy_static.rs b/vendor/once_cell/examples/lazy_static.rs deleted file mode 100644 index 3cdb19f..0000000 --- a/vendor/once_cell/examples/lazy_static.rs +++ /dev/null @@ -1,36 +0,0 @@ -extern crate once_cell; - -use once_cell::sync::{Lazy, OnceCell}; -use std::collections::HashMap; - -static HASHMAP: Lazy<HashMap<u32, &'static str>> = Lazy::new(|| { - let mut m = HashMap::new(); - m.insert(0, "foo"); - m.insert(1, "bar"); - m.insert(2, "baz"); - m -}); - -// Same, but completely without macros -fn hashmap() -> &'static HashMap<u32, &'static str> { - static INSTANCE: OnceCell<HashMap<u32, &'static str>> = OnceCell::new(); - INSTANCE.get_or_init(|| { - let mut m = HashMap::new(); - m.insert(0, "foo"); - m.insert(1, "bar"); - m.insert(2, "baz"); - m - }) -} - -fn main() { - // First access to `HASHMAP` initializes it - println!("The entry for `0` is \"{}\".", HASHMAP.get(&0).unwrap()); - - // Any further access to `HASHMAP` just returns the computed value - println!("The entry for `1` is \"{}\".", HASHMAP.get(&1).unwrap()); - - // The same works for function-style: - assert_eq!(hashmap().get(&0), Some(&"foo")); - assert_eq!(hashmap().get(&1), Some(&"bar")); -} |