Struct os::sync::up::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§
source§impl<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> !Freeze for UPSafeCell<T>
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§
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