pub struct StaticRef<'sr, T: ?Sized + 'sr> { /* private fields */ }
Implementations§
source§impl<'sr, T: ?Sized + 'sr> StaticRef<'sr, T>
impl<'sr, T: ?Sized + 'sr> StaticRef<'sr, T>
sourcepub unsafe fn static_ref(&self) -> &'static T
pub unsafe fn static_ref(&self) -> &'static T
Return a reference to the contained object with a 'static
lifetime.
§Safety
The returned reference is guaranteed to be valid for the 'static
lifetime. However, this remains unsafe because it allows the caller
to evade the normal borrow checker rules about not holding more than
one mutable reference to the contents of the type.
pub fn clone(orig: &Self) -> Self
Trait Implementations§
source§impl<'sr, T: ?Sized + 'sr> AsStaticRef<T> for StaticRef<'sr, T>
impl<'sr, T: ?Sized + 'sr> AsStaticRef<T> for StaticRef<'sr, T>
unsafe fn as_static_ref(&self) -> &'static T
impl<'sr, T: ?Sized + Send + 'sr> Send for StaticRef<'sr, T>
impl<'sr, T: ?Sized + Sync + 'sr> Sync for StaticRef<'sr, T>
Auto Trait Implementations§
impl<'sr, T> Freeze for StaticRef<'sr, T>where
T: ?Sized,
impl<'sr, T> !RefUnwindSafe for StaticRef<'sr, T>
impl<'sr, T> Unpin for StaticRef<'sr, T>where
T: ?Sized,
impl<'sr, T> !UnwindSafe for StaticRef<'sr, T>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more