Sha256: dfb195f44a62b19a32542297edfd281bc40837e48905603dfec20d62b12711d0
Contents?: true
Size: 830 Bytes
Versions: 12
Compression:
Stored size: 830 Bytes
Contents
// Copyright 2016 lazy-static.rs Developers // // Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or // https://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or // https://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. extern crate spin; use self::spin::Once; pub struct Lazy<T: Sync>(Once<T>); impl<T: Sync> Lazy<T> { pub const INIT: Self = Lazy(Once::INIT); #[inline(always)] pub fn get<F>(&'static self, builder: F) -> &T where F: FnOnce() -> T, { self.0.call_once(builder) } } #[macro_export] #[doc(hidden)] macro_rules! __lazy_static_create { ($NAME:ident, $T:ty) => { static $NAME: $crate::lazy::Lazy<$T> = $crate::lazy::Lazy::INIT; }; }
Version data entries
12 entries across 12 versions & 1 rubygems