bounds.push((*declared_bound).clone());
}
- cx.typaram(self.span, ty_param.ident, P::from_vec(bounds), None)
+ cx.typaram(self.span, ty_param.ident, vec![], P::from_vec(bounds), None)
}));
// and similarly for where clauses
.iter()
.map(|v| {
let ident = v.node.name;
+ let sp = Span { expn_id: trait_.span.expn_id, ..v.span };
let summary = trait_.summarise_struct(cx, &v.node.data);
- (ident, v.span, summary)
+ (ident, sp, summary)
})
.collect();
self.call_substructure_method(cx,
cx.span_bug(sp, "a braced struct with unnamed fields in `derive`");
}
codemap::Spanned {
- span: pat.span,
+ span: Span { expn_id: self.span.expn_id, ..pat.span },
node: ast::FieldPat {
ident: ident.unwrap(),
pat: pat,
mutbl: ast::Mutability)
-> (P<ast::Pat>, Vec<(Span, Option<Ident>, P<Expr>, &'a [ast::Attribute])>) {
let variant_ident = variant.node.name;
- let variant_path = cx.path(variant.span, vec![enum_ident, variant_ident]);
+ let sp = Span { expn_id: self.span.expn_id, ..variant.span };
+ let variant_path = cx.path(sp, vec![enum_ident, variant_ident]);
self.create_struct_pattern(cx, variant_path, &variant.node.data, prefix, mutbl)
}
}