Struct abi_stable::type_layout::TypeLayout[][src]

#[repr(C)]
pub struct TypeLayout { /* fields omitted */ }
Expand description

The layout of a type, also includes metadata about where the type was defined.

Implementations

Gets the SharedVars of the type, containing the slices that many types inside TypeLayout contain ranges into.

Gets the package and package version where the type was declared.

Gets the package where the type was declared.

Gets the package version for the package where the type was declared.

Gets which line the type was defined in.

Gets the full path to the module where the type was defined.

Gets a trait object used to check extra properties about the type.

Gets the fields of the type.

Return value

If this a:

  • primitive or opaque type: It returns None.

  • enum: It returns Some() with all the fields in the order that they were declared, ignoring variants.

  • structs/unions/prefix types: It returns Some() with all the fields in the order that they were declared.

Whether this is a prefix-type(module or vtable).

Gets the name of the type.

Gets whether the type is a NonZero type, which can be put in an Option while being ffi-safe.

Gets the UTypeId for the type, which is an ffi safe equivalent of TypeId.

Gets information about where a type was declared.

Gets the alignment of the type.

Gets the size of the type.

Gets the Tag associated with a type, a JSON-like datastructure which is another way to check extra properties about a type.

Gets the representation attribute of the type.

Gets the ModReflMode for the type, whether this is a module whose definition can be reflected on at runtime.

The interior of the type definition, describing whether the type is a primitive/enum/struct/union and its contents.

Describes whether the type is a primitive/enum/struct/union, every variant corresponds to a TLData variant of the same name.

Gets the virtual fields that aren’t part of th type definition, but are checked as part of the type

Gets the generic parameters of the type.

Gets the parts of the type layout that don’t change with generic parameters.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Whether this type has a single invalid bit-pattern. Read more

The layout of the type provided by implementors.

const-equivalents of the associated types.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

The owned type, stored in RCow::Owned

The borrowed type, stored in RCow::Borrowed

Performs the conversion.

This is always WithMetadata_<Self, Self>

Performs the conversion.

Gets a reference to a field, determined by offset. Read more

Gets a muatble reference to a field, determined by offset. Read more

Gets a const pointer to a field, the field is determined by offset. Read more

Gets a mutable pointer to a field, determined by offset. Read more

Replaces a field (determined by offset) with value, returning the previous value of the field. Read more

Swaps a field (determined by offset) with the same field in right. Read more

Gets a copy of a field (determined by offset). The field is determined by offset. Read more

Replaces a field (determined by offset) with value, returning the previous value of the field. Read more

Swaps a field (determined by offset) with the same field in right. Read more

Gets a copy of a field (determined by offset). The field is determined by offset. Read more

Compares the address of self with the address of other. Read more

Emulates the pipeline operator, allowing method syntax in more places. Read more

The same as piped except that the function takes &Self Useful for functions that take &Self instead of Self. Read more

The same as piped, except that the function takes &mut Self. Useful for functions that take &mut Self instead of Self. Read more

Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more

Observes the value of self, passing it along unmodified. Useful in long method chains. Read more

Performs a conversion with Into. using the turbofish .into_::<_>() syntax. Read more

Performs a reference to reference conversion with AsRef, using the turbofish .as_ref_::<_>() syntax. Read more

Performs a mutable reference to mutable reference conversion with AsMut, using the turbofish .as_mut_::<_>() syntax. Read more

Drops self using method notation. Alternative to std::mem::drop. Read more

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

Transmutes the element type of this pointer.. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

This is always Self.

Converts a value back to the original type.

Converts a reference back to the original type.

Converts a mutable reference back to the original type.

Converts a box back to the original type.

Converts an Arc back to the original type. Read more

Converts an Rc back to the original type. Read more

Converts a value back to the original type.

Converts a reference back to the original type.

Converts a mutable reference back to the original type.

Converts a box back to the original type.

Converts an Arc back to the original type.

Converts an Rc back to the original type.