let pat_ty = cx.tcx.pat_ty(p);
if let ty::TyEnum(edef, _) = pat_ty.sty {
let def = cx.tcx.def_map.borrow().get(&p.id).map(|d| d.full_def());
- if let Some(DefLocal(_)) = def {
+ if let Some(DefLocal(..)) = def {
if edef.variants.iter().any(|variant|
variant.name == ident.node.name
&& variant.kind() == VariantKind::Unit
.map(|(field, pat)| Spanned {
span: DUMMY_SP,
node: hir::FieldPat {
- ident: ast::Ident::new(field.name),
+ name: field.name,
pat: pat,
is_shorthand: false,
}
let def_variant = adt.variant_of_def(def);
if variant.did == def_variant.did {
Some(variant.fields.iter().map(|sf| {
- match pattern_fields.iter().find(|f| f.node.ident.name == sf.name) {
+ match pattern_fields.iter().find(|f| f.node.name == sf.name) {
Some(ref f) => &*f.node.pat,
_ => DUMMY_WILD_PAT
}