pub(crate) struct UnrootedDom<'a, T: DomObject> {
inner: Dom<T>,
_no_gc: &'a NoGC,
}Expand description
A struct to make Unrooted Dom objects work. By taking a no_gc as reference, we ensure that the lifetime of this object is bounded by the lifetime of NoGC which enforces no gc happening.
Fields§
§inner: Dom<T>§_no_gc: &'a NoGCImplementations§
Source§impl<'a, T: DomObject> UnrootedDom<'a, T>
impl<'a, T: DomObject> UnrootedDom<'a, T>
Sourcepub(crate) fn from_dom(object: Dom<T>, no_gc: &'a NoGC) -> UnrootedDom<'a, T>
pub(crate) fn from_dom(object: Dom<T>, no_gc: &'a NoGC) -> UnrootedDom<'a, T>
Construct an UnrootedDom with the lifetime of NoGC. This is safe, as NoGC implies no garbage collection will happen
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for UnrootedDom<'a, T>
impl<'a, T> RefUnwindSafe for UnrootedDom<'a, T>where
T: RefUnwindSafe,
impl<'a, T> !Send for UnrootedDom<'a, T>
impl<'a, T> !Sync for UnrootedDom<'a, T>
impl<'a, T> Unpin for UnrootedDom<'a, T>
impl<'a, T> UnwindSafe for UnrootedDom<'a, T>where
T: RefUnwindSafe,
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
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert