pub struct DynMetadata<Dyn>{ }
ð¬This is a nightly-only experimental API. (ptr_metadata
#81513) Expand description
The metadata for a Dyn = dyn SomeTrait
trait object type.
It is a pointer to a vtable (virtual call table) that represents all the necessary information to manipulate the concrete type stored inside a trait object. The vtable notably contains:
drop_in_place
impl (may be a no-op for plain-old-data)Note that the first three are special because theyâre necessary to allocate, drop, and deallocate any trait object.
It is possible to name this struct with a type parameter that is not a dyn
trait object (for example DynMetadata<u64>
) but not to obtain a meaningful value of that struct.
Note that while this type implements PartialEq
, comparing vtable pointers is unreliable: pointers to vtables of the same type for the same trait can compare inequal (because vtables are duplicated in multiple codegen units), and pointers to vtables of different types/traits can compare equal (since identical vtables can be deduplicated within a codegen unit).
ptr_metadata
#81513)
Returns the size of the type associated with this vtable.
Source ð¬This is a nightly-only experimental API. (ptr_metadata
#81513)
Returns the alignment of the type associated with this vtable.
Source ð¬This is a nightly-only experimental API. (ptr_metadata
#81513)
Returns the size and alignment together as a Layout
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4