pub unsafe trait ObjectCore: Sized + 'static {
const TYPE_KEY: &'static str;
const TYPE_DEPTH: i32;
// Required methods
fn type_index() -> i32;
unsafe fn object_header_mut(this: &mut Self) -> &mut TVMFFIObject;
}Expand description
Traits that can be used to check if a type is an object
This trait is unsafe because it is used to access the object header and the object header is unsafe to access
Required Associated Constants§
Sourceconst TYPE_DEPTH: i32
const TYPE_DEPTH: i32
Depth of this type in the object inheritance tree.
The root Object has depth zero, and every registered subtype has
depth one greater than its parent. This value must be non-negative and
agree with the runtime type table entry for Self.
Required Methods§
fn type_index() -> i32
Sourceunsafe fn object_header_mut(this: &mut Self) -> &mut TVMFFIObject
unsafe fn object_header_mut(this: &mut Self) -> &mut TVMFFIObject
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.