Trait darling::FromMetaItem [] [src]

pub trait FromMetaItem {
    fn from_nested_meta_item(item: &NestedMetaItem) -> Result<Self, Error> { ... }
fn from_meta_item(item: &MetaItem) -> Result<Self, Error> { ... }
fn from_word() -> Result<Self, Error> { ... }
fn from_list(items: &[NestedMetaItem]) -> Result<Self, Error> { ... }
fn from_value(value: &Lit) -> Result<Self, Error> { ... }
fn from_char(value: char) -> Result<Self, Error> { ... }
fn from_string(value: &str) -> Result<Self, Error> { ... }
fn from_bool(value: bool) -> Result<Self, Error> { ... } }

Create an instance from an item in an attribute declaration.

Implementing FromMetaItem

  • Do not take a dependency on the ident of the passed-in meta item. The ident will be set by the field name of the containing struct.
  • Implement only the from_* methods that you intend to support. The default implementations will return useful errors.

Provided Implementations

bool

  • Word with no value specified - becomes true.
  • As a boolean literal, e.g. foo = true.
  • As a string literal, e.g. foo = "true".

String

  • As a string literal, e.g. foo = "hello".
  • As a raw string literal, e.g. foo = r#"hello "world""#.

()

  • Word with no value specified, e.g. foo. This is best used with Option. See darling::util::Flag for a more strongly-typed alternative.

Option

  • Any format produces Some.

Result<T, darling::Error>

  • Allows for fallible parsing; will populate the target field with the result of the parse attempt.

Provided Methods

Create an instance from a syn::MetaItem by dispatching to the format-appropriate trait function. This generally should not be overridden by implementers.

Create an instance from the presence of the word in the attribute with no additional options specified.

Create an instance from a list of nested meta items.

Create an instance from a literal value of either foo = "bar" or foo("bar"). This dispatches to the appropriate method based on the type of literal encountered, and generally should not be overridden by implementers.

Create an instance from a char literal in a value position.

Create an instance from a string literal in a value position.

Create an instance from a bool literal in a value position.

Implementations on Foreign Types

impl FromMetaItem for i16
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for u16
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for i64
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for bool
[src]

impl FromMetaItem for i32
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for Result<T, MetaItem> where
    T: FromMetaItem
[src]

Parses the meta-item, and in case of error preserves a copy of the input for later analysis.

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for Option<T> where
    T: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for u32
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for i8
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for TyParamBound
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for usize
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for WhereClause
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for RefCell<T> where
    T: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for Ident
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for AtomicBool
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for String
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for Rc<T> where
    T: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for u64
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<V> FromMetaItem for HashMap<String, V, RandomState> where
    V: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for Result<T, Error> where
    T: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for ForwardAttrs
[src]

impl FromMetaItem for RenameRule
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for Box<T> where
    T: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for isize
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for DataShape
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for u8
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for Path
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for ()
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for MetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl<T> FromMetaItem for Arc<T> where
    T: FromMetaItem
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

impl FromMetaItem for Vec<WherePredicate>
[src]

impl FromMetaItem for Shape
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

Implementors