Crate reflection[][src]

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 Definitions

Expander

To get the members of some type.

Id
Name
Schema
Schemas