syntex_syntax::ext::deriving::generic::EnumNonMatchCollapsedFunc [] [src]

type EnumNonMatchCollapsedFunc<'a> = Box<FnMut(&mut ExtCtxt, Span, (&[Ident], &[Ident]), &[P<Expr>]) -> P<Expr> + 'a>;

Deal with non-matching enum variants. The tuple is a list of identifiers (one for each Self argument, which could be any of the variants since they have been collapsed together) and the identifiers holding the variant index value for each of the Self arguments. The last argument is all the non-Self args of the method being derived.