Struct 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 methods: Vec<MethodDef<'a>>,
}

Fields

span

The span for the current #[deriving(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

methods

Methods

impl<'a> TraitDef<'a>

fn expand(&self, cx: &mut ExtCtxt, _mitem: Gc<MetaItem>, item: Gc<Item>, push: |Gc<Item>|)