pub enum Data<'ty, 'r> {
Owned(Box<dyn ShareableTid<'ty>>),
Borrowed(&'r dyn ShareableTid<'ty>),
Mut(&'r mut dyn ShareableTid<'ty>),
}Expand description
Re-export internal modules for users who need advanced features.
Stored value variants inside a Context.
Values may be owned, immutably borrowed, or mutably borrowed.
Variants§
Owned(Box<dyn ShareableTid<'ty>>)
Borrowed(&'r dyn ShareableTid<'ty>)
Mut(&'r mut dyn ShareableTid<'ty>)
Implementations§
Source§impl<'ty, 'r> Data<'ty, 'r>
impl<'ty, 'r> Data<'ty, 'r>
Sourcepub fn downcast_ref<'b, T: Tid<'ty>>(&'b self) -> Option<&'b T>
pub fn downcast_ref<'b, T: Tid<'ty>>(&'b self) -> Option<&'b T>
Downcast to a shared reference of the underlying value.
Sourcepub fn downcast_mut<'b, T: Tid<'ty>>(&'b mut self) -> Option<&'b mut T>
pub fn downcast_mut<'b, T: Tid<'ty>>(&'b mut self) -> Option<&'b mut T>
Downcast to a mutable reference of the underlying value.
Sourcepub fn into_owned<T: Clone + Tid<'ty>>(self) -> Result<T, Self>
pub fn into_owned<T: Clone + Tid<'ty>>(self) -> Result<T, Self>
Convert into an owned value.
Borrowed values are cloned. Returns Err(self) when the type does not match.
Sourcepub fn try_take_owned<T: Tid<'ty>>(self) -> Result<T, Self>
pub fn try_take_owned<T: Tid<'ty>>(self) -> Result<T, Self>
Take the owned value if present.
Borrowed variants return Err(self).
Auto Trait Implementations§
impl<'ty, 'r> Freeze for Data<'ty, 'r>
impl<'ty, 'r> !RefUnwindSafe for Data<'ty, 'r>
impl<'ty, 'r> Send for Data<'ty, 'r>
impl<'ty, 'r> Sync for Data<'ty, 'r>
impl<'ty, 'r> Unpin for Data<'ty, 'r>
impl<'ty, 'r> !UnwindSafe for Data<'ty, 'r>
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
Attempts to downcast this to
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
Attempts to downcast this to
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
Attempts to downcast this to
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
Attempts to downcast this to
T behind Arc pointerSource§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