A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://doc.rust-lang.org/stable/std/ptr/struct.DynMetadata.html below:

DynMetadata in std::ptr - Rust

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:

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).

Source§ Source 🔬This is a nightly-only experimental API. (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