Sha256: 6b9fb6a4f553058e240756125b6b9ca43a83ed1fb72964343038ea0ea2e1af10
Contents?: true
Size: 822 Bytes
Versions: 26
Compression:
Stored size: 822 Bytes
Contents
// Copyright 2016 lazy-static.rs Developers // // Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or // http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or // http://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
26 entries across 26 versions & 1 rubygems