StructMeta

Crates.io Docs.rs Actions Status

Parse Rust's attribute arguments by defining a struct.

Documentation

See #[derive(StructMeta)] documentation for details.

Example

```rust use structmeta::StructMeta; use syn::{parse_quote, Attribute, LitInt, LitStr};

[derive(StructMeta, Debug)]

struct MyAttr { x: LitInt, y: LitStr, } let attr: Attribute = parsequote!(#[myattr(x = 10, y = "abc")]); let attr: MyAttr = attr.parse_args().unwrap(); println!("x = {}, y = {}", attr.x, attr.y.value()); ```

This code outputs:

txt x = 10, y = abc

License

This project is dual licensed under Apache-2.0/MIT. See the two LICENSE-* files for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.