pub fn cs_fold_enumnonmatch( enum_nonmatch_f: Box<dyn FnMut(&mut ExtCtxt<'_>, Span, (&[Ident], &[Ident]), &[P<Expr>]) -> P<Expr> + '_>, cx: &mut ExtCtxt<'_>, trait_span: Span, substructure: &Substructure<'_>) -> P<Expr>