Struct os::sync::UPSafeCell
source · [−]pub struct UPSafeCell<T> {
inner: RefCell<T>,
}Expand description
Wrap a static data structure inside it so that we are
able to access it without any unsafe.
We should only use it in uniprocessor.
In order to get mutable reference of inner data, call
exclusive_access.
Fields
inner: RefCell<T>inner data
Implementations
sourceimpl<T> UPSafeCell<T>
impl<T> UPSafeCell<T>
sourcepub unsafe fn new(value: T) -> Self
pub unsafe fn new(value: T) -> Self
User is responsible to guarantee that inner struct is only used in uniprocessor.
sourcepub fn exclusive_access(&self) -> RefMut<'_, T>
pub fn exclusive_access(&self) -> RefMut<'_, T>
Panic if the data has been borrowed.
Trait Implementations
impl<T> Sync for UPSafeCell<T>
Auto Trait Implementations
impl<T> !RefUnwindSafe for UPSafeCell<T>
impl<T> Send for UPSafeCell<T> where
T: Send,
impl<T> Unpin for UPSafeCell<T> where
T: Unpin,
impl<T> UnwindSafe for UPSafeCell<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more