pub unsafe trait Wrapped<Tag>:
Send
+ Sync
+ Sized {
type Unwrapped;
// Required methods
unsafe fn unwrap(self) -> Self::Unwrapped;
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self;
unsafe fn for_each_representative<F>(&self, f: F)
where F: FnMut(usize);
}๐Deprecated: It is probably a bad idea to use this crate
Expand description
Wrap all of the levels of a tuple into Compatible types.
ยงSafety
Can only be implemented on a container of Object<Ty, Tag> types.
Unwrapped must be a container of the corresponding Ty.
Required Associated Typesยง
Required Methodsยง
Sourceunsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
unsafe fn unwrap(self) -> Self::Unwrapped
Unwrap this object into the inner objects.
ยงSafety
This is unsafe because it assumes that the caller is on the correct thread.
Sourceunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
Wrap the inner objects into this object.
ยงSafety
This is unsafe because it assumes that the caller is on the correct thread.
Sourceunsafe fn for_each_representative<F>(&self, f: F)
๐Deprecated: It is probably a bad idea to use this crate
unsafe fn for_each_representative<F>(&self, f: F)
Run a closure for each value in this set, using the representative value.
ยงSafety
This is unsafe because it assumes that the caller is on the correct thread.
Dyn Compatibilityยง
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Typesยง
Sourceยงimpl<'lt, T: Compatible, Tag> Wrapped<Tag> for &'lt [Object<T, Tag>]
impl<'lt, T: Compatible, Tag> Wrapped<Tag> for &'lt [Object<T, Tag>]
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<F>(&self, f: F)
unsafe fn for_each_representative<F>(&self, f: F)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag> Wrapped<Tag> for ()
impl<Tag> Wrapped<Tag> for ()
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(_unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(_unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<F>(&self, _f: F)
unsafe fn for_each_representative<F>(&self, _f: F)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, A: Wrapped<Tag>, B: Wrapped<Tag>, C: Wrapped<Tag>, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (A, B, C, D, E, F, G, H, I, J)
impl<Tag, A: Wrapped<Tag>, B: Wrapped<Tag>, C: Wrapped<Tag>, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (A, B, C, D, E, F, G, H, I, J)
Sourceยงtype Unwrapped = (<A as Wrapped<Tag>>::Unwrapped, <B as Wrapped<Tag>>::Unwrapped, <C as Wrapped<Tag>>::Unwrapped, <D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<A as Wrapped<Tag>>::Unwrapped, <B as Wrapped<Tag>>::Unwrapped, <C as Wrapped<Tag>>::Unwrapped, <D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, B: Wrapped<Tag>, C: Wrapped<Tag>, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (B, C, D, E, F, G, H, I, J)
impl<Tag, B: Wrapped<Tag>, C: Wrapped<Tag>, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (B, C, D, E, F, G, H, I, J)
Sourceยงtype Unwrapped = (<B as Wrapped<Tag>>::Unwrapped, <C as Wrapped<Tag>>::Unwrapped, <D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<B as Wrapped<Tag>>::Unwrapped, <C as Wrapped<Tag>>::Unwrapped, <D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, C: Wrapped<Tag>, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (C, D, E, F, G, H, I, J)
impl<Tag, C: Wrapped<Tag>, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (C, D, E, F, G, H, I, J)
Sourceยงtype Unwrapped = (<C as Wrapped<Tag>>::Unwrapped, <D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<C as Wrapped<Tag>>::Unwrapped, <D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (D, E, F, G, H, I, J)
impl<Tag, D: Wrapped<Tag>, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (D, E, F, G, H, I, J)
Sourceยงtype Unwrapped = (<D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<D as Wrapped<Tag>>::Unwrapped, <E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (E, F, G, H, I, J)
impl<Tag, E: Wrapped<Tag>, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (E, F, G, H, I, J)
Sourceยงtype Unwrapped = (<E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<E as Wrapped<Tag>>::Unwrapped, <F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (F, G, H, I, J)
impl<Tag, F: Wrapped<Tag>, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (F, G, H, I, J)
Sourceยงtype Unwrapped = (<F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<F as Wrapped<Tag>>::Unwrapped, <G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (G, H, I, J)
impl<Tag, G: Wrapped<Tag>, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (G, H, I, J)
Sourceยงtype Unwrapped = (<G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<G as Wrapped<Tag>>::Unwrapped, <H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (H, I, J)
impl<Tag, H: Wrapped<Tag>, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (H, I, J)
Sourceยงtype Unwrapped = (<H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<H as Wrapped<Tag>>::Unwrapped, <I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (I, J)
impl<Tag, I: Wrapped<Tag>, J: Wrapped<Tag>> Wrapped<Tag> for (I, J)
Sourceยงtype Unwrapped = (<I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
type Unwrapped = (<I as Wrapped<Tag>>::Unwrapped, <J as Wrapped<Tag>>::Unwrapped)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงimpl<Tag, J: Wrapped<Tag>> Wrapped<Tag> for (J,)
impl<Tag, J: Wrapped<Tag>> Wrapped<Tag> for (J,)
Sourceยงtype Unwrapped = (<J as Wrapped<Tag>>::Unwrapped,)
type Unwrapped = (<J as Wrapped<Tag>>::Unwrapped,)
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn unwrap(self) -> Self::Unwrapped
unsafe fn unwrap(self) -> Self::Unwrapped
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
unsafe fn wrap(unwrapped: Self::Unwrapped) -> Self
๐Deprecated: It is probably a bad idea to use this crate
Sourceยงunsafe fn for_each_representative<Func>(&self, f: Func)
unsafe fn for_each_representative<Func>(&self, f: Func)
๐Deprecated: It is probably a bad idea to use this crate