Skeleton

Struct Skeleton 

Source
pub struct Skeleton { /* private fields */ }
Expand description

An opaque service to register in the context.

See the general description of the concept skeleton here and the definition in this crate here.

It is constructed with a service object with whichever smart pointer you want. Depending on use of &mut self in the methods in the service trait, some or all Box<>, Arc<>, Arc<RwLock<>> will implement IntoSkeleton automatically by the proc macro. Please see this section for more detail about smart pointers.

Skeleton is useful when you want to erase the trait, and hold it as an opaque service that will be registered later.

Note that you will never need this if you do only plain export & import using ServiceRef, ServiceToExport, or ServiceToImport. See the module-level documentation to understand when to use this.

Implementations§

Source§

impl Skeleton

Source

pub fn new<T: ?Sized + Service>(service: impl IntoSkeleton<T>) -> Self

Trait Implementations§

Source§

impl Clone for Skeleton

Source§

fn clone(&self) -> Self

Clones a Skeleton, while sharing the actual single service object.

This is useful when you want to export a single service object to multiple connections.

1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Skeleton

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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
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
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.