[−][src]Enum abi_stable::abi_stability::type_layout::TLData
What kind of type this is.struct/enum/etc.
Unions are currently treated as structs.
Variants
Primitive
All the bytes for the type are valid (not necessarily all bit patterns).
If you use this variant, you must ensure the continuing validity of the same bit-patterns.
Struct
For structs and unions.
Fields of Struct
fields: StaticSlice<TLField>
Enum
For enums.
Fields of Enum
variants: StaticSlice<TLEnumVariant>
PrefixType(TLPrefixType)
vtables and modules that can be extended in minor versions.
Methods
impl TLData
[src]
pub const fn struct_(fields: &'static [TLField]) -> Self
[src]
pub const fn enum_(variants: &'static [TLEnumVariant]) -> Self
[src]
pub const fn prefix_type(
first_suffix_field: usize,
accessible_fields: FieldAccessibility,
conditional_prefix_fields: &'static [IsConditional],
fields: &'static [TLField]
) -> Self
[src]
first_suffix_field: usize,
accessible_fields: FieldAccessibility,
conditional_prefix_fields: &'static [IsConditional],
fields: &'static [TLField]
) -> Self
pub fn discriminant(&self) -> TLDataDiscriminant
[src]
Trait Implementations
impl SharedStableAbi for TLData
[src]
type IsNonZeroType = False
Whether this type has a single invalid bit-pattern. Read more
type Kind = __ValueKind
The kind of abi stability of this type,there are 2: Read more
type StaticEquivalent = TLData
A version of the type which does not borrow anything, used to create a UTypeId for doing layout checking. Read more
const S_LAYOUT: &'static TypeLayout
[src]
const S_ABI_INFO: &'static AbiInfoWrapper
[src]
The layout of the type,derived from Self::LAYOUT and associated types.
impl Copy for TLData
[src]
impl Clone for TLData
[src]
fn clone(&self) -> TLData
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<TLData> for TLData
[src]
impl Debug for TLData
[src]
Auto Trait Implementations
Blanket Implementations
impl<This> StableAbi for This where
This: SharedStableAbi<Kind = ValueKind>,
[src]
This: SharedStableAbi<Kind = ValueKind>,
const LAYOUT: &'static TypeLayout
[src]
const ABI_INFO: &'static AbiInfoWrapper
[src]
impl<T> MakeGetAbiInfo<StableAbi_Bound> for T where
T: StableAbi,
[src]
T: StableAbi,
const CONST: GetAbiInfo
[src]
impl<T> MakeGetAbiInfo<SharedStableAbi_Bound> for T where
T: SharedStableAbi,
[src]
T: SharedStableAbi,
const CONST: GetAbiInfo
[src]
impl<T> MakeGetAbiInfo<UnsafeOpaqueField_Bound> for T
[src]
const CONST: GetAbiInfo
[src]
impl<T> GetUTID<True> for T where
T: 'static,
[src]
T: 'static,
impl<T> GetUTID<False> for T
[src]
impl<'a, T> BorrowOwned<'a> for T where
T: 'a + Clone,
[src]
T: 'a + Clone,
type ROwned = T
type RBorrowed = &'a T
fn r_borrow(
&'a <T as BorrowOwned<'a>>::ROwned
) -> <T as BorrowOwned<'a>>::RBorrowed
[src]
&'a <T as BorrowOwned<'a>>::ROwned
) -> <T as BorrowOwned<'a>>::RBorrowed
fn r_to_owned(
<T as BorrowOwned<'a>>::RBorrowed
) -> <T as BorrowOwned<'a>>::ROwned
[src]
<T as BorrowOwned<'a>>::RBorrowed
) -> <T as BorrowOwned<'a>>::ROwned
fn deref_borrowed(&<T as BorrowOwned<'a>>::RBorrowed) -> &T
[src]
fn deref_owned(&<T as BorrowOwned<'a>>::ROwned) -> &T
[src]
fn from_cow_borrow(&'a T) -> <T as BorrowOwned<'a>>::RBorrowed
[src]
fn from_cow_owned(<T as ToOwned>::Owned) -> <T as BorrowOwned<'a>>::ROwned
[src]
fn into_cow_borrow(<T as BorrowOwned<'a>>::RBorrowed) -> &'a T
[src]
fn into_cow_owned(<T as BorrowOwned<'a>>::ROwned) -> <T as ToOwned>::Owned
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> TypeIdentity for T where
T: ?Sized,
[src]
T: ?Sized,
type Type = T
The same type as Self. Read more
fn into_type_val(self) -> Self::Type where
Self::Type: Sized,
[src]
Self::Type: Sized,
Converts a value back to the original type.
fn into_type_ref(&self) -> &Self::Type
[src]
Converts a reference back to the original type.
fn into_type_mut(&mut self) -> &mut Self::Type
[src]
Converts a mutable reference back to the original type.
fn into_type_box(self: Box<Self>) -> Box<Self::Type>
[src]
Converts a box back to the original type.
fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>
[src]
Converts an Arc back to the original type.
fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>
[src]
Converts an Rc back to the original type.
fn from_type_val(this: Self::Type) -> Self where
Self::Type: Sized,
[src]
Self::Type: Sized,
Converts a value back to the original type.
fn from_type_ref(this: &Self::Type) -> &Self
[src]
Converts a reference back to the original type.
fn from_type_mut(this: &mut Self::Type) -> &mut Self
[src]
Converts a mutable reference back to the original type.
fn from_type_box(this: Box<Self::Type>) -> Box<Self>
[src]
Converts a box back to the original type.
fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>
[src]
Converts an Arc back to the original type.
fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>
[src]
Converts an Rc back to the original type.
impl<T> SelfOps for T where
T: ?Sized,
[src]
T: ?Sized,
const T: PhantomData<fn() -> Self>
[src]
Represents Self by using a VariantPhantom, using the syntax Type::T
to pass it in methods with _:VariantPhantom<T>
parameters. Read more
const T_D: PhantomData<Self>
[src]
Represents Self by using a VariantDropPhantom,for specialized cases. Read more
fn assert_ty(self, _other: PhantomData<fn() -> Self>) -> Self
[src]
Asserts that other
is the same type as self
.
fn assert_ty_ref(&self, _other: PhantomData<fn() -> Self>) -> &Self
[src]
Asserts that other
is the same type as self
.
fn assert_ty_mut(&mut self, _other: PhantomData<fn() -> Self>) -> &mut Self
[src]
Asserts that other
is the same type as self
.
fn ty_(&self) -> PhantomData<fn() -> Self>
[src]
Equivalent to SelfOps::T,as a method. Read more
fn ty_d(&self) -> PhantomData<Self>
[src]
Equivalent to [Self::ty_],for specialized cases. Read more
fn ty_inv(&self) -> PhantomData<fn(Self) -> Self>
[src]
Equivalent to [Self::ty_] with an invariant type.
fn ty_inv_ref(&self) -> PhantomData<Cell<&Self>>
[src]
Equivalent to [Self::ty_] with an invariant lifetime.
fn eq_id(&self, other: &Self) -> bool
[src]
Identity comparison to another value of the same type. Read more
fn piped<F, U>(self, f: F) -> U where
F: FnOnce(Self) -> U,
[src]
F: FnOnce(Self) -> U,
Emulates the pipeline operator,allowing method syntax in more places. Read more
fn piped_ref<'a, F, U>(&'a self, f: F) -> U where
F: FnOnce(&'a Self) -> U,
[src]
F: FnOnce(&'a Self) -> U,
The same as piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read more
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U where
F: FnOnce(&'a mut Self) -> U,
[src]
F: FnOnce(&'a mut Self) -> U,
The same as piped
except that the function takes &mut Self
. Useful for functions that take &mut Self
instead of Self
. Read more
fn mutated<F>(self, f: F) -> Self where
F: FnOnce(&mut Self),
[src]
F: FnOnce(&mut Self),
Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more
fn observe<F>(self, f: F) -> Self where
F: FnOnce(&Self),
[src]
F: FnOnce(&Self),
Observes the value of self passing it along unmodified. Useful in a long method chain. Read more
fn into_<T>(self, PhantomData<fn() -> T>) -> T where
Self: Into<T>,
[src]
Self: Into<T>,
Performs a conversion using Into. Read more
fn as_ref_<T>(&self) -> &T where
Self: AsRef<T>,
T: ?Sized,
[src]
Self: AsRef<T>,
T: ?Sized,
Performs a reference to reference conversion using AsRef, using the turbofish .as_ref_::<_>()
syntax. Read more
fn as_mut_<T>(&mut self) -> &mut T where
Self: AsMut<T>,
T: ?Sized,
[src]
Self: AsMut<T>,
T: ?Sized,
Performs a mutable reference to mutable reference conversion using AsMut, using the turbofish .as_mut_::<_>()
syntax. Read more
fn drop_(self)
[src]
Drops self
using method notation. Alternative to std::mem::drop
. Read more
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The error type returned when the conversion fails.