Struct avr_oxide::StaticRefMut

source ·
pub struct StaticRefMut<'sr, T: ?Sized + 'sr> { /* private fields */ }

Implementations§

source§

impl<'sr, T: ?Sized + 'sr> StaticRefMut<'sr, T>

source

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.

source

pub unsafe fn static_ref_mut(&mut self) -> &'static mut T

Return a mutable 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.

Trait Implementations§

source§

impl<'sr, T: ?Sized + 'sr> AsStaticRef<T> for StaticRefMut<'sr, T>

source§

unsafe fn as_static_ref(&self) -> &'static T

source§

impl<'sr, T: ?Sized + 'sr> AsStaticRefMut<T> for StaticRefMut<'sr, T>

source§

impl<'sr, T: ?Sized + 'sr> Deref for StaticRefMut<'sr, T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'sr, T: ?Sized + 'sr> DerefMut for StaticRefMut<'sr, T>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<'sr, T: ?Sized + Send + 'sr> Send for StaticRefMut<'sr, T>

source§

impl<'sr, T: ?Sized + Sync + 'sr> Sync for StaticRefMut<'sr, T>

Auto Trait Implementations§

§

impl<'sr, T> Freeze for StaticRefMut<'sr, T>
where T: ?Sized,

§

impl<'sr, T> !RefUnwindSafe for StaticRefMut<'sr, T>

§

impl<'sr, T> Unpin for StaticRefMut<'sr, T>
where T: ?Sized,

§

impl<'sr, T> !UnwindSafe for StaticRefMut<'sr, T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.