Struct NullMutex

Source
pub struct NullMutex<T> { /* private fields */ }
Expand description

“Dummy” mutex for sharing in a single task/thread.

This mutex type can be used when all bus users are contained in a single execution context. In such a situation, no actual mutex is needed, because a RefCell alone is sufficient to ensuring only a single peripheral can access the bus at the same time.

This mutex type is used with the BusManagerSimple type.

To uphold safety, this type is !Send and !Sync.

Trait Implementations§

Source§

impl<T> BusMutex for NullMutex<T>

Source§

type Bus = T

The actual bus that is wrapped inside this mutex.
Source§

fn create(v: Self::Bus) -> Self

Create a new mutex of this type.
Source§

fn lock<R, F: FnOnce(&mut Self::Bus) -> R>(&self, f: F) -> R

Lock the mutex and give a closure access to the bus inside.
Source§

impl<T: Debug> Debug for NullMutex<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !Freeze for NullMutex<T>

§

impl<T> !RefUnwindSafe for NullMutex<T>

§

impl<T> Send for NullMutex<T>
where T: Send,

§

impl<T> !Sync for NullMutex<T>

§

impl<T> Unpin for NullMutex<T>
where T: Unpin,

§

impl<T> UnwindSafe for NullMutex<T>
where T: UnwindSafe,

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>,

Source§

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>,

Source§

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.