pub(crate) fn new(data: &'a T, access: &'a Access) -> Self {
        Self {
            data,
            guard: AccessGuard(access),
        }
    }
/// Construct a new shared guard.
///
/// # Safety
///
/// since this has implications for releasing access, the caller must
/// ensure that access has been acquired correctly using e.g.
/// [Access::shared]. Otherwise access can be release incorrectly once
/// this guard is dropped.
Construct a new shared guard.
Construct a new shared guard .
pub(crate) fn new(data: &'a T, access: &'a Access) -> Self {
        Self {
            data,
            guard: AccessGuard(access),
        }
    }
pub ( crate ) fn new ( data : & ' a T , access : & ' a Access ) -> Self { Self { data , guard : AccessGuard ( access ) , } }
Construct a new shared guard.
Construct a new shared guard .
data
&'a T
access
&'a Access
data
&'a T
access
&'a Access
safety
since this has implications for releasing access, the caller must
ensure that access has been acquired correctly using e.g.
[Access::shared]. Otherwise access can be release incorrectly once
this guard is dropped.
since this has implications for releasing access the caller must ensure that access has been acquired correctly using e . g . [ Access :: shared ] . Otherwise access can be release incorrectly once this guard is dropped .