Struct syntex_syntax::ext::deriving::generic::TraitDef [] [src]

pub struct TraitDef<'a> {
    pub span: Span,
    pub attributes: Vec<Attribute>,
    pub path: Path<'a>,
    pub additional_bounds: Vec<Ty<'a>>,
    pub generics: LifetimeBounds<'a>,
    pub is_unsafe: bool,
    pub methods: Vec<MethodDef<'a>>,
    pub associated_types: Vec<(Ident, Ty<'a>)>,
}

Fields

span

The span for the current #[derive(Foo)] header.

attributes
path

Path of the trait, including any type parameters

additional_bounds

Additional bounds required of any type parameters of the type, other than the current trait

generics

Any extra lifetimes and/or bounds, e.g. D: serialize::Decoder

is_unsafe

Is it an unsafe trait?

methods
associated_types

Methods

impl<'a> TraitDef<'a>

fn expand(&self, cx: &mut ExtCtxt, mitem: &MetaItem, item: &'a Annotatable, push: &mut FnMut(Annotatable))