Macros§
Attribute Macros§
- extension
- Derive an extension trait for a given impl block. The trait name goes into the parenthesized args of the macro, for greppability. For example:
Derive Macros§
- Decodable
- Decodable_
NoContext - Diagnostic
- Encodable
- Encodable_
NoContext - Hash
Stable - Hash
Stable_ Generic - Hash
Stable_ NoContext HashStableimplementation that has noHashStableContextbound and which addswherebounds forHashStablebased off of fields and not generics. This is suitable for use in crates likerustc_type_ir.- Lift
- Lint
Diagnostic - Metadata
Decodable - Metadata
Encodable - Print
Attribute - Derives
PrintAttributeforAttributeKind. This macro is pretty specific torustc_hir::attrsand likely not that useful in other places. It’s deriving something close toDebugwithout printing some extraneous things like spans. - Subdiagnostic
- TryFrom
U32 - Derives
TryFrom<u32>for the annotatedenum, which must have no fields. Each variant maps to the value it would produce under anas u32cast. - TyDecodable
- TyEncodable
- Type
Foldable - Derives
TypeFoldablefor the annotatedstructorenum(unionis not supported). - Type
Visitable - Derives
TypeVisitablefor the annotatedstructorenum(unionis not supported). - Walkable
- Derives
Walkablefor the annotatedstructorenum(unionis not supported).