Crate reflection

Source
Expand description

This library produces type schema information, including field names and type names in hierarchical tree structure, which reflects the type definitions.

To avoid circular type definition, the pointer types( raw/smart pointers, references etc ) will be treated as terminal types, unless using expand() to get the referenced type’s schemata().

§Example

See fn serde_issue_345() for generating pretty print format from schemata().

Structs§

Field
A type definition, or a field definition of some struct.
Variant
A variant definition of some enum.

Enums§

Member
The type of schema tree node.
Type
Type constructs.

Traits§

Reflection
Reflects type’s fields’ names and their type names.

Functions§

expand
Expands schema() recursively, stopping at fields of primitives or pointers.
field
Defines a Field as a tree node.
terminal
Defines a Field as a tree node, which should have no child node.
variant
Defines a Variant as a tree node.

Type Aliases§

Expander
To get the members of some type.
Id
Name
Schema
Schemas