Struct InnerArc

Source
pub struct InnerArc<Outer, Inner> {
    outer: Outer,
    elem: *const Inner,
}

Fieldsยง

ยงouter: Outerยงelem: *const Inner

Implementationsยง

Sourceยง

impl<Outer, Inner> InnerArc<Outer, Inner>

Source

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.

Source

pub unsafe fn inherit<NewInner, Err>( &self, get: impl FnOnce(&Inner) -> Result<&NewInner, Err>, ) -> Result<InnerArc<Outer, NewInner>, Err>
where Outer: Clone,

ยงSafety
Source

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.

Source

pub unsafe fn new_owned_infallible<'a, Arced>( outer: Outer, arc: impl FnOnce(&Outer) -> &Arc<Arced>, get: impl FnOnce(&Arced) -> &'a Inner, ) -> Self
where 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.

Source

pub const fn outer(&self) -> &Outer

Trait Implementationsยง

Sourceยง

impl<Outer, Inner> AsRef<Inner> for InnerArc<Outer, Inner>

Sourceยง

fn as_ref(&self) -> &Inner

Converts this type into a shared reference of the (usually inferred) input type.
Sourceยง

impl<Outer: Send, Inner> Send for InnerArc<Outer, Inner>

Sourceยง

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> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
ยง

impl<T> ArchivePointee for T

ยง

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
ยง

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
ยง

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

ยง

fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

ยง

impl<T> Instrument for T

ยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
ยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> IntoEither for T

Sourceยง

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 more
Sourceยง

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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<T> Pointable for T

ยง

const ALIGN: usize

The alignment of pointer.
ยง

type Init = T

The type for initializers.
ยง

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
ยง

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
ยง

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
ยง

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
ยง

impl<T> Pointee for T

ยง

type Metadata = ()

The type for metadata in pointers and references to Self.
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
ยง

impl<T> WithSubscriber for T

ยง

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
ยง

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
ยง

impl<T> ErasedDestructor for T
where T: 'static,