Expand description
Simple reflection system based on the #[repr(C)] memory layout.
You can derive HasSchema for your Rust types to unlock integration with the bones_schema
ecosystem, including bones_ecs and bones_asset.
Modules§
- alloc
- Allocation and collection utilities.
- prelude
- The prelude.
- ptr
- Schema-aware smart pointers.
- raw_fns
- Traits implementing raw function calls for cloning, dropping, and creating default values for Rust types.
- registry
- Global schema registry.
- ser_de
- Serde implementations for [
Schema].
Structs§
- Enum
Schema Info - Schema data for an enum.
- Schema
Data - Schema information describing the memory layout of a type.
- Schema
Layout Info - Layout information computed for
SchemaData. - Struct
Field Info - A field in a
StructSchemaInfo. - Struct
Schema Info - Schema data for a struct.
- Unsafe
- A wrapper struct that marks it unsafe to both create and access the inner value.
- Variant
Info - Information about an enum variant for
EnumSchemaInfo.
Enums§
- Enum
TagType - A type for an enum tag for
EnumSchemaInfo. - Primitive
- A type of primitive.
- Schema
Kind - A schema describes the data layout of a type, to enable dynamic access to the type’s data through a pointer.
Traits§
- From
Type - Trait implemented for types that can produce an instance of themselves from a Rust type.
- HasSchema
- Trait implemented for types that have a [
Schema].
Derive Macros§
- HasSchema
- Derive macro for the HasSchema trait.