Enum amplify_syn::Error [−][src]
pub enum Error {
Show 20 variants
Parse(Error),
NamesDontMatch(String, String),
MultipleSingularValues(String),
MultipleLiteralValues(String),
UnsupportedLiteral(String),
SingularAttrRequired(String),
ParametrizedAttrRequired(String),
AttributeUnknownArgument {
attr: String,
arg: String,
},
ArgTypeProhibited {
attr: String,
arg: String,
},
ArgNumberExceedsMax {
attr: String,
type_name: String,
no: usize,
max_no: u8,
},
ArgMustNotHaveValue {
attr: String,
arg: String,
},
ArgRequired {
attr: String,
arg: String,
},
ArgNameMustBeIdent,
ArgNameMustBeUnique {
attr: String,
arg: String,
},
ArgValueRequired {
attr: String,
arg: String,
},
ArgValueTypeMismatch {
attr: String,
arg: String,
},
ArgValueMustBeLiteral,
ArgValueMustBeType,
ParametrizedAttrHasNoValue(String),
NestedListsNotSupported(String),
}
Expand description
Errors representing inconsistency in proc macro attribute structure
Variants
Parse error from a syn
crate
Tuple Fields of Parse
0: Error
Names of two merged attributes must match each other
Singular argument (of form #[attr = ...]
) has multiple occurrences
each assigned value. This is meaningless.
Tuple Fields of MultipleSingularValues
0: String
Multiple literal non-string values are given for a parametrized
attribute in form of #[attr(literal1, literal2)]
. This is
meaningless.
Tuple Fields of MultipleLiteralValues
0: String
Attribute contains unsupported literal argument
Tuple Fields of UnsupportedLiteral
0: String
Attribute must be in a singular form (#[attr]
or #[attr = ...]
)
Tuple Fields of SingularAttrRequired
0: String
Attribute must be in a parametrized form (#[attr(...)]
)
Tuple Fields of ParametrizedAttrRequired
0: String
Attribute has an unknown argument
Attribute is not allowed to have argument of type arg
Number of arg
arguments in attribute attr
exceeds maximum
Fields of ArgNumberExceedsMax
Attribute argument arg
must not have a value
Attribute must has an arg
argument
Attribute or attribute argument name (in form of #[attr(arg = ...)]
)
must be an identifier (like arg
) and not a path (like std::io
)
The same argument name is used multiple times within parametrized
attribute (like in #[attr(name1 = value1, name1 = value2)]
)
Attribute or attribute argument must has a value:
#[attr(arg = value)]
Attribute value type mismatch
Parametrized attribute argument must have a literal value (string,
integer etc): #[attr(arg = "value")]
or #[arg = 4]
Parametrized attribute argument must be a valid type name:
#[attr(arg = u8)]
or #[arg = String]
Parametrized attribute (in form of #[attr(...)]
) does not
have a single value
Tuple Fields of ParametrizedAttrHasNoValue
0: String
This error variant is not used anymore after the introduction of custom attribute parser
Lists nested within attribute arguments, like #[attr(arg(...))]
are not supported
Tuple Fields of NestedListsNotSupported
0: String
This error variant is not used anymore after the introduction of custom attribute parser
Trait Implementations
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Error
impl UnwindSafe for Error
Blanket Implementations
Mutably borrows from an owned value. Read more