pub struct InnerArc<Outer, Inner> {
outer: Outer,
elem: *const Inner,
}Fieldsยง
ยงouter: Outerยงelem: *const InnerImplementationsยง
Sourceยงimpl<Outer, Inner> InnerArc<Outer, Inner>
impl<Outer, Inner> InnerArc<Outer, Inner>
Sourcepub unsafe fn new<Arced, Err>(
outer: &Outer,
arc: impl FnOnce(&Outer) -> &Arc<Arced>,
get: impl FnOnce(&Arced) -> Result<&Inner, Err>,
) -> Result<Self, Err>where
Outer: Clone,
pub unsafe fn new<Arced, Err>(
outer: &Outer,
arc: impl FnOnce(&Outer) -> &Arc<Arced>,
get: impl FnOnce(&Arced) -> Result<&Inner, Err>,
) -> Result<Self, Err>where
Outer: Clone,
ยงSafety
Is only safe if the inner element is not behind inner mutability, and therefore cannot be moved around.
Sourcepub unsafe fn inherit<NewInner, Err>(
&self,
get: impl FnOnce(&Inner) -> Result<&NewInner, Err>,
) -> Result<InnerArc<Outer, NewInner>, Err>where
Outer: Clone,
pub unsafe fn inherit<NewInner, Err>(
&self,
get: impl FnOnce(&Inner) -> Result<&NewInner, Err>,
) -> Result<InnerArc<Outer, NewInner>, Err>where
Outer: Clone,
ยงSafety
Sourcepub unsafe fn new_from_outer<Err>(
outer: &Outer,
get: impl FnOnce(&Outer) -> Result<&Inner, Err>,
) -> Result<Self, Err>where
Outer: Clone,
pub unsafe fn new_from_outer<Err>(
outer: &Outer,
get: impl FnOnce(&Outer) -> Result<&Inner, Err>,
) -> Result<Self, Err>where
Outer: Clone,
ยงSafety
Is only safe if the inner element is not behind inner mutability, and therefore cannot be moved around and the provided reference is actually behind the Arc.
Sourcepub unsafe fn new_owned_infallible<'a, Arced>(
outer: Outer,
arc: impl FnOnce(&Outer) -> &Arc<Arced>,
get: impl FnOnce(&Arced) -> &'a Inner,
) -> Selfwhere
Outer: Clone + 'a,
Inner: 'a,
pub unsafe fn new_owned_infallible<'a, Arced>(
outer: Outer,
arc: impl FnOnce(&Outer) -> &Arc<Arced>,
get: impl FnOnce(&Arced) -> &'a Inner,
) -> Selfwhere
Outer: Clone + 'a,
Inner: 'a,
ยงSafety
Is only safe if the inner element is not behind inner mutability, and therefore cannot be moved around, and the provided reference is actually behind the Arc.
pub const fn outer(&self) -> &Outer
Trait Implementationsยง
impl<Outer: Send, Inner> Send for InnerArc<Outer, Inner>
impl<Outer: Sync, Inner> Sync for InnerArc<Outer, Inner>
Auto Trait Implementationsยง
impl<Outer, Inner> Freeze for InnerArc<Outer, Inner>where
Outer: Freeze,
impl<Outer, Inner> RefUnwindSafe for InnerArc<Outer, Inner>where
Outer: RefUnwindSafe,
Inner: RefUnwindSafe,
impl<Outer, Inner> Unpin for InnerArc<Outer, Inner>where
Outer: Unpin,
impl<Outer, Inner> UnwindSafe for InnerArc<Outer, Inner>where
Outer: UnwindSafe,
Inner: 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
ยงimpl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
ยงfn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.ยงfn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.ยงfn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Anyโs vtable from &Traitโs.ยงfn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Anyโs vtable from &mut Traitโs.ยงimpl<T> DowncastSend for T
impl<T> DowncastSend for T
ยงimpl<T> DowncastSync for T
impl<T> DowncastSync for T
ยงimpl<T> ElementExt for T
impl<T> ElementExt for T
ยงfn attr<At>(&self, attribute: At) -> <At as Attribute>::Statewhere
At: Attribute,
fn attr<At>(&self, attribute: At) -> <At as Attribute>::Statewhere
At: Attribute,
Adds an attribute to the element, at runtime.
ยงfn class<C>(&self, class: C) -> <C as IntoClass>::Statewhere
C: IntoClass,
fn class<C>(&self, class: C) -> <C as IntoClass>::Statewhere
C: IntoClass,
Adds a class to the element, at runtime.
ยงimpl<E, T, Request, Encoding> FromReq<Patch<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, T, Request, Encoding> FromReq<Patch<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Request, Encoding> FromReq<Post<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, T, Request, Encoding> FromReq<Post<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Request, Encoding> FromReq<Put<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, T, Request, Encoding> FromReq<Put<Encoding>, Request, E> for Twhere
Request: Req<E> + Send + 'static,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, Encoding, Response, T> FromRes<Patch<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, Encoding, Response, T> FromRes<Patch<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, Encoding, Response, T> FromRes<Post<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, Encoding, Response, T> FromRes<Post<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<E, Encoding, Response, T> FromRes<Put<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
impl<E, Encoding, Response, T> FromRes<Put<Encoding>, Response, E> for Twhere
Response: ClientRes<E> + Send,
Encoding: Decodes<T>,
E: FromServerFnError,
ยงimpl<T> Instrument for T
impl<T> Instrument for T
ยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
ยง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 moreยงimpl<E, T, Encoding, Request> IntoReq<Patch<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
impl<E, T, Encoding, Request> IntoReq<Patch<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Encoding, Request> IntoReq<Post<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
impl<E, T, Encoding, Request> IntoReq<Post<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
ยงimpl<E, T, Encoding, Request> IntoReq<Put<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
impl<E, T, Encoding, Request> IntoReq<Put<Encoding>, Request, E> for Twhere
Request: ClientReq<E>,
Encoding: Encodes<T>,
E: FromServerFnError,
ยงimpl<E, Response, Encoding, T> IntoRes<Patch<Encoding>, Response, E> for T
impl<E, Response, Encoding, T> IntoRes<Patch<Encoding>, Response, E> for T
ยงimpl<E, Response, Encoding, T> IntoRes<Post<Encoding>, Response, E> for T
impl<E, Response, Encoding, T> IntoRes<Post<Encoding>, Response, E> for T
ยงimpl<E, Response, Encoding, T> IntoRes<Put<Encoding>, Response, E> for T
impl<E, Response, Encoding, T> IntoRes<Put<Encoding>, Response, E> for T
ยงimpl<T> Pointable for T
impl<T> Pointable for T
ยงimpl<T> SerializableKey for T
impl<T> SerializableKey for T
ยงimpl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
ยงfn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
ยงfn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.