[−][src]Crate refloctopus
Runtime reflection of Rust values.
serde_derive
is infamous for the sheer amount of code its liberal use can introduce
to a workspace. refloctopus
tries to combat that: avoid deriving Serialize
and
Deserialize
for most of your types, instead deriveing Reflect
. The reflection
metadata for each type is reasonably small. Using the reflection metadata, a single
Serialize
/Deserialize
implementation can marshall any Rust type.
Structs
Db | Home of |
EnumArm | An arm of an enum declaration, describing a variant. |
Expect | Token indicating what type to expect in the field metadata. |
ExpectArr | Token indicating length and type of an array to expect in the field metadata. |
Field | A named or unnamed field, offset from the base of its containing type. |
FieldsCursor | A cursor into the in-memory densely packed field metadata for a particular type. |
FieldsStorage | An area of memory, owned or borrowed, storing
the field data for a particular |
ReflectedType | A Rust type, of some kind, with a unique |
ShapedLocation | A location in memory with a known reflected type. |
ShapedOutputLocation | A destination in memory with a known eventual type. |
Enums
Attr | An |
DataShape | The world of rust type representation, according to reflectopus. |
DeclKind | We don't care much how the source code is written, but serde does. |
Expectables | The sorts of things in a FieldsCursor that can be expected, but owned. |
RefKind | Whether a reference is a fat or thin pointer. |
RustBuiltin | Builtin scalar rust types (u8, char, bool, etc) |
RustPrimitive | A primitive Rust value that can occur in an attribute. |
Traits
Reflect | Trait for types which can ponder at runtime and produce a description of themselves. |
StaticReflect | A type with a |
Type Definitions
DynamicType | A (often owned) ReflectedType which was not generated at compile-time. |
StaticType | A (usually borrowed) ReflectedType |