1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! This crate provides a single function-like macro that
//! removes some boilerplate from a common pattern when using
//! the parsing framework [nom](https://www.crates.io/crates/nom).
//!
//! With this macro, the following parser...
//! ```
//! nom::combinator::map(
//! nom::sequence::tuple((
//! some_parser,
//! some_other_parser,
//! a_third_parser
//! )),
//! |(some_field, some_other_field, a_third_field)| SomeStruct {
//! some_field,
//! some_other_field,
//! a_third_field
//! }
//! )(input)
//! ```
//! ...becomes this:
//! ```
//! nom_fields::fields!(SomeStruct:
//! some_field = some_parser,
//! some_other_field = some_other_parser,
//! a_third_field = a_third_parser
//! )(input)
//! ```
/// The macro this crate provides. See the [top-level documentation](index.html) for details.