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 is_unsafe: bool,
    pub methods: Vec<MethodDef<'a>>,
    pub associated_types: Vec<(Ident, Ty<'a>)>,
}
Unstable (rustc_private)

Fields

span: Span
Unstable (rustc_private)

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

attributes: Vec<Attribute>
Unstable (rustc_private)
path: Path<'a>
Unstable (rustc_private)

Path of the trait, including any type parameters

additional_bounds: Vec<Ty<'a>>
Unstable (rustc_private)

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

generics: LifetimeBounds<'a>
Unstable (rustc_private)

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

is_unsafe: bool
Unstable (rustc_private)

Is it an unsafe trait?

methods: Vec<MethodDef<'a>>
Unstable (rustc_private)
associated_types: Vec<(Ident, Ty<'a>)>
Unstable (rustc_private)

Methods

impl<'a> TraitDef<'a>
[src]

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