use dep_graph::DepNode;
use front::map as ast_map;
-use rustc_front::hir;
+use rustc_front::hir::{self, PatKind};
use rustc_front::intravisit::{self, Visitor};
use middle::{pat_util, privacy, ty};
_ => self.tcx.sess.span_bug(lhs.span, "non-ADT in struct pattern")
};
for pat in pats {
- if let hir::PatWild = pat.node.pat.node {
+ if let PatKind::Wild = pat.node.pat.node {
continue;
}
self.insert_def_id(variant.field_named(pat.node.name).did);
.contains(&attr::ReprExtern)
});
- intravisit::walk_item(self, &*item);
+ intravisit::walk_item(self, &item);
}
hir::ItemEnum(..) => {
self.inherited_pub_visibility = item.vis == hir::Public;
- intravisit::walk_item(self, &*item);
+ intravisit::walk_item(self, &item);
}
hir::ItemFn(..)
| hir::ItemTy(..)
| hir::ItemStatic(..)
| hir::ItemConst(..) => {
- intravisit::walk_item(self, &*item);
+ intravisit::walk_item(self, &item);
}
_ => ()
}
intravisit::walk_impl_item(self, impl_item);
}
ast_map::NodeForeignItem(foreign_item) => {
- intravisit::walk_foreign_item(self, &*foreign_item);
+ intravisit::walk_foreign_item(self, &foreign_item);
}
_ => ()
}
self.lookup_and_handle_method(expr.id);
}
hir::ExprField(ref lhs, ref name) => {
- self.handle_field_access(&**lhs, name.node);
+ self.handle_field_access(&lhs, name.node);
}
hir::ExprTupField(ref lhs, idx) => {
- self.handle_tup_field_access(&**lhs, idx.node);
+ self.handle_tup_field_access(&lhs, idx.node);
}
_ => ()
}
// necessary for the pattern to match. Those construction sites
// can't be reached unless the variant is constructed elsewhere.
let len = self.ignore_variant_stack.len();
- self.ignore_variant_stack.extend_from_slice(&*variants);
+ self.ignore_variant_stack.extend_from_slice(&variants);
intravisit::walk_arm(self, arm);
self.ignore_variant_stack.truncate(len);
} else {
fn visit_pat(&mut self, pat: &hir::Pat) {
let def_map = &self.tcx.def_map;
match pat.node {
- hir::PatStruct(_, ref fields, _) => {
+ PatKind::Struct(_, ref fields, _) => {
self.handle_field_pattern_match(pat, fields);
}
_ if pat_util::pat_is_const(&def_map.borrow(), pat) => {
let is_named = node.name().is_some();
let field_type = self.tcx.node_id_to_type(node.id);
let is_marker_field = match field_type.ty_to_def_id() {
- Some(def_id) => self.tcx.lang_items.items().any(|(_, item)| *item == Some(def_id)),
+ Some(def_id) => self.tcx.lang_items.items().iter().any(|item| *item == Some(def_id)),
_ => false
};
is_named