Struct core::ptr::DynMetadata
source · pub struct DynMetadata<Dyn: ?Sized> { /* private fields */ }
🔬This is a nightly-only experimental API. (
ptr_metadata
#81513)Expand description
Dyn = dyn SomeTrait
trait 对象类型的元数据。
它是指向 vtable (虚拟调用表) 的指针,该表表示操作存储在 trait 对象内部的具体类型所需的所有信息。 该 vtable 尤其包含:
- 类型大小
- 类型对齐
- 指向该类型的
drop_in_place
impl 的指针 (对于纯旧数据,它可能是 no-op) - 指向 trait 类型实现的所有方法的指针
请注意,前三个是特殊的,因为它们是分配,丢弃和释放任何 trait 对象所必需的。
可以使用不是 dyn
trait 对象 (例如 DynMetadata<u64>
) 的类型参数来命名此结构体,但不能获得该结构体的有意义的值。