Skip to main content

Module ast_traits

Module ast_traits 

Source
Expand description

A set of traits implemented for various AST nodes, typically those used in AST fragments during macro expansion. The traits are not implemented exhaustively, only when actually necessary.

Re-exportsยง

use std::fmt; ๐Ÿ”’
use std::marker::PhantomData; ๐Ÿ”’
use crate::tokenstream::LazyTokenStream; ๐Ÿ”’
use crate::tokenstream::WithTokens; ๐Ÿ”’
use crate::Arm; ๐Ÿ”’
use crate::AssocItem; ๐Ÿ”’
use crate::AttrItem; ๐Ÿ”’
use crate::AttrKind; ๐Ÿ”’
use crate::AttrVec; ๐Ÿ”’
use crate::Attribute; ๐Ÿ”’
use crate::Block; ๐Ÿ”’
use crate::Crate; ๐Ÿ”’
use crate::Expr; ๐Ÿ”’
use crate::ExprField; ๐Ÿ”’
use crate::FieldDef; ๐Ÿ”’
use crate::ForeignItem; ๐Ÿ”’
use crate::GenericParam; ๐Ÿ”’
use crate::Item; ๐Ÿ”’
use crate::NodeId; ๐Ÿ”’
use crate::Param; ๐Ÿ”’
use crate::Pat; ๐Ÿ”’
use crate::PatField; ๐Ÿ”’
use crate::Path; ๐Ÿ”’
use crate::Stmt; ๐Ÿ”’
use crate::StmtKind; ๐Ÿ”’
use crate::Ty; ๐Ÿ”’
use crate::Variant; ๐Ÿ”’
use crate::Visibility; ๐Ÿ”’
use crate::WherePredicate; ๐Ÿ”’

Macrosยง

impl_has_attrs ๐Ÿ”’
impl_has_attrs_none ๐Ÿ”’
impl_has_node_id ๐Ÿ”’
impl_has_tokens ๐Ÿ”’
impl_has_tokens_none ๐Ÿ”’

Structsยง

AstNodeWrapper
A newtype around an AST node that implements the traits above if the node implements them.

Traitsยง

HasAttrs
A trait for AST nodes having (or not having) attributes.
HasNodeId
A trait for AST nodes having an ID.
HasTokens
A trait for AST nodes having (or not having) collected tokens.