1 | //! Types and functions for parsing attribute options. |
2 | //! |
3 | //! Attribute parsing occurs in multiple stages: |
4 | //! |
5 | //! 1. Builder options on the struct are parsed into `OptionsBuilder<StructMode>`. |
6 | //! 1. The `OptionsBuilder<StructMode>` instance is converted into a starting point for the |
7 | //! per-field options (`OptionsBuilder<FieldMode>`) and the finished struct-level config, |
8 | //! called `StructOptions`. |
9 | //! 1. Each struct field is parsed, with discovered attributes overriding or augmenting the |
10 | //! options specified at the struct level. This creates one `OptionsBuilder<FieldMode>` per |
11 | //! struct field on the input/target type. Once complete, these get converted into |
12 | //! `FieldOptions` instances. |
13 | |
14 | mod darling_opts; |
15 | |
16 | pub use self::darling_opts::Options; |
17 | |