Expand description
All the individual attribute parsers for each of rustcβs built-in attributes.
This module defines traits for attribute parsers, little state machines that recognize and parse
attributes out of a longer list of attributes. The main trait is called AttributeParser.
You can find more docs about AttributeParsers on the trait itself.
However, for many types of attributes, implementing AttributeParser is not necessary.
It allows for a lot of flexibility you might not want.
Specifically, you might not care about managing the state of your AttributeParser
state machine yourself. In this case you can choose to implement:
SingleAttributeParser: makes it easy to implement an attribute which should error if it appears more than once in a list of attributesCombineAttributeParser: makes it easy to implement an attribute which should combine the contents of attributes, if an attribute appear multiple times in a list
Attributes should be added to crate::context::ATTRIBUTE_PARSERS to be parsed.
ModulesΒ§
- allow_
unstable π - body π
- Attributes that can be found in function body.
- cfg π
- cfg_old π
- codegen_
attrs π - confusables π
- crate_
level π - debugger π
- deprecation π
- dummy π
- inline π
- link_
attrs π - lint_
helpers π - loop_
match π - macro_
attrs π - must_
use π - no_
implicit_ πprelude - non_
exhaustive π - path π
- prelude π
- All the parsers require roughly the same imports, so this prelude has most of the often-needed ones.
- proc_
macro_ πattrs - prototype π
- Attributes that are only used on function prototypes.
- repr π
- rustc_
internal π - semantics π
- stability π
- test_
attrs π - traits π
- transparency π
- util π
StructsΒ§
- Combine π
- Use in combination with
CombineAttributeParser.Combine<T: CombineAttributeParser>implementsAttributeParser. - Single π
- Use in combination with
SingleAttributeParser.Single<T: SingleAttributeParser>implementsAttributeParser. - Without
Args π
EnumsΒ§
- Attribute
Order π - OnDuplicate π
TraitsΒ§
- Attribute
Parser π - An
AttributeParseris a type which searches for syntactic attributes. - Combine
Attribute πParser - Alternative to
AttributeParserthat automatically handles state management. If multiple attributes appear on an element, combines the values of each into aThinVec.Combine<T> where T: CombineAttributeParserimplementsAttributeParser. - NoArgs
Attribute πParser - An even simpler version of
SingleAttributeParser: now automatically check that there are no arguments provided to the attribute. - Single
Attribute πParser - Alternative to
AttributeParserthat automatically handles state management. A slightly simpler and more restricted way to convert attributes. Assumes that an attribute can only appear a single time on an item, and errors when it sees more.
Type AliasesΒ§
- Accept
Fn π - Accept
Mapping π - Convert
Fn π