runtime-struct-field-names-as-array
Provides the FieldNamesAsArray procedural macro.
The macro adds the fn field_names_as_array() to the struct the macro is derived on. It contains the field names of the given
struct, including the parents
Note: The macro can only be derived from named structs.
IMPORTANT This crate has a runtime overhead while it has limited options. If you do NOT intend to use it on a nested struct, you shall use this crate instead. See discussion
Table of Contents
Usage
You can derive the FieldNamesAsArray macro like this:
use FieldNamesAsArray;
assert_eq!;
Attributes
The FieldNamesAsArray macro supports the
field_names_as_array attribute.
field_names_as_array can be applied to a field with only the flatten attribute
Container Attributes
Container attributes are global attributes that change the behavior of the whole field names array, rather than that of a single field.
Field Attributes
Field attributes can be added to the fields of a named struct and change the behavior of a single field.
Flatten
The flatten attribute will add the parent fields. Option struct are also supported. If the attribute is not added on a struct type, it will be considered as a regular field.
use FieldNamesAsArray;
assert_eq!;