Auto merge of #4235 - Manishearth:rustup, r=Manishearth

Rustup to 5f9c0448dd

Fixes fallout from https://github.com/rust-lang/rust/pull/62091/files

changelog: none
This commit is contained in:
bors 2019-06-25 22:35:35 +00:00
commit e3cb40e4f7
13 changed files with 29 additions and 41 deletions

View file

@ -63,7 +63,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoxedLocal {
) { ) {
// If the method is an impl for a trait, don't warn. // If the method is an impl for a trait, don't warn.
let parent_id = cx.tcx.hir().get_parent_item(hir_id); let parent_id = cx.tcx.hir().get_parent_item(hir_id);
let parent_node = cx.tcx.hir().find_by_hir_id(parent_id); let parent_node = cx.tcx.hir().find(parent_id);
if let Some(Node::Item(item)) = parent_node { if let Some(Node::Item(item)) = parent_node {
if let ItemKind::Impl(_, _, _, _, Some(..), _, _) = item.node { if let ItemKind::Impl(_, _, _, _, Some(..), _, _) = item.node {
@ -113,9 +113,9 @@ impl<'a, 'tcx> Delegate<'tcx> for EscapeDelegate<'a, 'tcx> {
fn matched_pat(&mut self, _: &Pat, _: &cmt_<'tcx>, _: MatchMode) {} fn matched_pat(&mut self, _: &Pat, _: &cmt_<'tcx>, _: MatchMode) {}
fn consume_pat(&mut self, consume_pat: &Pat, cmt: &cmt_<'tcx>, _: ConsumeMode) { fn consume_pat(&mut self, consume_pat: &Pat, cmt: &cmt_<'tcx>, _: ConsumeMode) {
let map = &self.cx.tcx.hir(); let map = &self.cx.tcx.hir();
if map.is_argument(map.hir_to_node_id(consume_pat.hir_id)) { if map.is_argument(consume_pat.hir_id) {
// Skip closure arguments // Skip closure arguments
if let Some(Node::Expr(..)) = map.find_by_hir_id(map.get_parent_node_by_hir_id(consume_pat.hir_id)) { if let Some(Node::Expr(..)) = map.find(map.get_parent_node(consume_pat.hir_id)) {
return; return;
} }
if is_non_trait_box(cmt.ty) && !self.is_large_box(cmt.ty) { if is_non_trait_box(cmt.ty) && !self.is_large_box(cmt.ty) {
@ -124,7 +124,7 @@ impl<'a, 'tcx> Delegate<'tcx> for EscapeDelegate<'a, 'tcx> {
return; return;
} }
if let Categorization::Rvalue(..) = cmt.cat { if let Categorization::Rvalue(..) = cmt.cat {
if let Some(Node::Stmt(st)) = map.find_by_hir_id(map.get_parent_node_by_hir_id(cmt.hir_id)) { if let Some(Node::Stmt(st)) = map.find(map.get_parent_node(cmt.hir_id)) {
if let StmtKind::Local(ref loc) = st.node { if let StmtKind::Local(ref loc) = st.node {
if let Some(ref ex) = loc.init { if let Some(ref ex) = loc.init {
if let ExprKind::Box(..) = ex.node { if let ExprKind::Box(..) = ex.node {

View file

@ -176,11 +176,11 @@ fn check_for_unsequenced_reads(vis: &mut ReadVisitor<'_, '_>) {
let map = &vis.cx.tcx.hir(); let map = &vis.cx.tcx.hir();
let mut cur_id = vis.write_expr.hir_id; let mut cur_id = vis.write_expr.hir_id;
loop { loop {
let parent_id = map.get_parent_node_by_hir_id(cur_id); let parent_id = map.get_parent_node(cur_id);
if parent_id == cur_id { if parent_id == cur_id {
break; break;
} }
let parent_node = match map.find_by_hir_id(parent_id) { let parent_node = match map.find(parent_id) {
Some(parent) => parent, Some(parent) => parent,
None => break, None => break,
}; };

View file

@ -107,11 +107,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Functions {
span: Span, span: Span,
hir_id: hir::HirId, hir_id: hir::HirId,
) { ) {
let is_impl = if let Some(hir::Node::Item(item)) = cx let is_impl = if let Some(hir::Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_node(hir_id)) {
.tcx
.hir()
.find_by_hir_id(cx.tcx.hir().get_parent_node_by_hir_id(hir_id))
{
matches!(item.node, hir::ItemKind::Impl(_, _, _, _, Some(_), _, _)) matches!(item.node, hir::ItemKind::Impl(_, _, _, _, Some(_), _, _))
} else { } else {
false false

View file

@ -2218,8 +2218,8 @@ fn is_conditional(expr: &Expr) -> bool {
fn is_nested(cx: &LateContext<'_, '_>, match_expr: &Expr, iter_expr: &Expr) -> bool { fn is_nested(cx: &LateContext<'_, '_>, match_expr: &Expr, iter_expr: &Expr) -> bool {
if_chain! { if_chain! {
if let Some(loop_block) = get_enclosing_block(cx, match_expr.hir_id); if let Some(loop_block) = get_enclosing_block(cx, match_expr.hir_id);
let parent_node = cx.tcx.hir().get_parent_node_by_hir_id(loop_block.hir_id); let parent_node = cx.tcx.hir().get_parent_node(loop_block.hir_id);
if let Some(Node::Expr(loop_expr)) = cx.tcx.hir().find_by_hir_id(parent_node); if let Some(Node::Expr(loop_expr)) = cx.tcx.hir().find(parent_node);
then { then {
return is_loop_nested(cx, loop_expr, iter_expr) return is_loop_nested(cx, loop_expr, iter_expr)
} }
@ -2235,11 +2235,11 @@ fn is_loop_nested(cx: &LateContext<'_, '_>, loop_expr: &Expr, iter_expr: &Expr)
return true; return true;
}; };
loop { loop {
let parent = cx.tcx.hir().get_parent_node_by_hir_id(id); let parent = cx.tcx.hir().get_parent_node(id);
if parent == id { if parent == id {
return false; return false;
} }
match cx.tcx.hir().find_by_hir_id(parent) { match cx.tcx.hir().find(parent) {
Some(Node::Expr(expr)) => match expr.node { Some(Node::Expr(expr)) => match expr.node {
ExprKind::Loop(..) | ExprKind::While(..) => { ExprKind::Loop(..) | ExprKind::While(..) => {
return true; return true;

View file

@ -1423,7 +1423,7 @@ fn lint_clone_on_copy(cx: &LateContext<'_, '_>, expr: &hir::Expr, arg: &hir::Exp
if cx.tables.expr_ty(arg) == ty { if cx.tables.expr_ty(arg) == ty {
snip = Some(("try removing the `clone` call", format!("{}", snippet))); snip = Some(("try removing the `clone` call", format!("{}", snippet)));
} else { } else {
let parent = cx.tcx.hir().get_parent_node_by_hir_id(expr.hir_id); let parent = cx.tcx.hir().get_parent_node(expr.hir_id);
match cx.tcx.hir().get(parent) { match cx.tcx.hir().get(parent) {
hir::Node::Expr(parent) => match parent.node { hir::Node::Expr(parent) => match parent.node {
// &*x is a nop, &x.clone() is not // &*x is a nop, &x.clone() is not

View file

@ -115,7 +115,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessBool {
} }
fn parent_node_is_if_expr<'a, 'b>(expr: &Expr, cx: &LateContext<'a, 'b>) -> bool { fn parent_node_is_if_expr<'a, 'b>(expr: &Expr, cx: &LateContext<'a, 'b>) -> bool {
let parent_id = cx.tcx.hir().get_parent_node_by_hir_id(expr.hir_id); let parent_id = cx.tcx.hir().get_parent_node(expr.hir_id);
let parent_node = cx.tcx.hir().get(parent_id); let parent_node = cx.tcx.hir().get(parent_id);
if let rustc::hir::Node::Expr(e) = parent_node { if let rustc::hir::Node::Expr(e) = parent_node {

View file

@ -88,11 +88,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessPassByValue {
} }
// Exclude non-inherent impls // Exclude non-inherent impls
if let Some(Node::Item(item)) = cx if let Some(Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_node(hir_id)) {
.tcx
.hir()
.find_by_hir_id(cx.tcx.hir().get_parent_node_by_hir_id(hir_id))
{
if matches!(item.node, ItemKind::Impl(_, _, _, _, Some(_), _, _) | if matches!(item.node, ItemKind::Impl(_, _, _, _, Some(_), _, _) |
ItemKind::Trait(..)) ItemKind::Trait(..))
{ {
@ -357,14 +353,14 @@ impl<'a, 'tcx> MovedVariablesCtxt<'a, 'tcx> {
if let mc::Categorization::Local(vid) = cmt.cat { if let mc::Categorization::Local(vid) = cmt.cat {
let mut id = matched_pat.hir_id; let mut id = matched_pat.hir_id;
loop { loop {
let parent = self.cx.tcx.hir().get_parent_node_by_hir_id(id); let parent = self.cx.tcx.hir().get_parent_node(id);
if id == parent { if id == parent {
// no parent // no parent
return; return;
} }
id = parent; id = parent;
if let Some(node) = self.cx.tcx.hir().find_by_hir_id(id) { if let Some(node) = self.cx.tcx.hir().find(id) {
match node { match node {
Node::Expr(e) => { Node::Expr(e) => {
// `match` and `if let` // `match` and `if let`

View file

@ -169,7 +169,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NonCopyConst {
fn check_impl_item(&mut self, cx: &LateContext<'a, 'tcx>, impl_item: &'tcx ImplItem) { fn check_impl_item(&mut self, cx: &LateContext<'a, 'tcx>, impl_item: &'tcx ImplItem) {
if let ImplItemKind::Const(hir_ty, ..) = &impl_item.node { if let ImplItemKind::Const(hir_ty, ..) = &impl_item.node {
let item_hir_id = cx.tcx.hir().get_parent_node_by_hir_id(impl_item.hir_id); let item_hir_id = cx.tcx.hir().get_parent_node(impl_item.hir_id);
let item = cx.tcx.hir().expect_item(item_hir_id); let item = cx.tcx.hir().expect_item(item_hir_id);
// Ensure the impl is an inherent impl. // Ensure the impl is an inherent impl.
if let ItemKind::Impl(_, _, _, _, None, _, _) = item.node { if let ItemKind::Impl(_, _, _, _, None, _, _) = item.node {
@ -204,11 +204,11 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NonCopyConst {
let mut dereferenced_expr = expr; let mut dereferenced_expr = expr;
let mut needs_check_adjustment = true; let mut needs_check_adjustment = true;
loop { loop {
let parent_id = cx.tcx.hir().get_parent_node_by_hir_id(cur_expr.hir_id); let parent_id = cx.tcx.hir().get_parent_node(cur_expr.hir_id);
if parent_id == cur_expr.hir_id { if parent_id == cur_expr.hir_id {
break; break;
} }
if let Some(Node::Expr(parent_expr)) = cx.tcx.hir().find_by_hir_id(parent_id) { if let Some(Node::Expr(parent_expr)) = cx.tcx.hir().find(parent_id) {
match &parent_expr.node { match &parent_expr.node {
ExprKind::AddrOf(..) => { ExprKind::AddrOf(..) => {
// `&e` => `e` must be referenced. // `&e` => `e` must be referenced.

View file

@ -106,7 +106,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Ptr {
fn check_impl_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx ImplItem) { fn check_impl_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx ImplItem) {
if let ImplItemKind::Method(ref sig, body_id) = item.node { if let ImplItemKind::Method(ref sig, body_id) = item.node {
let parent_item = cx.tcx.hir().get_parent_item(item.hir_id); let parent_item = cx.tcx.hir().get_parent_item(item.hir_id);
if let Some(Node::Item(it)) = cx.tcx.hir().find_by_hir_id(parent_item) { if let Some(Node::Item(it)) = cx.tcx.hir().find(parent_item) {
if let ItemKind::Impl(_, _, _, _, Some(_), _, _) = it.node { if let ItemKind::Impl(_, _, _, _, Some(_), _, _) = it.node {
return; // ignore trait impls return; // ignore trait impls
} }

View file

@ -65,7 +65,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for SuspiciousImpl {
} }
// Check if the binary expression is part of another bi/unary expression // Check if the binary expression is part of another bi/unary expression
// as a child node // as a child node
let mut parent_expr = cx.tcx.hir().get_parent_node_by_hir_id(expr.hir_id); let mut parent_expr = cx.tcx.hir().get_parent_node(expr.hir_id);
while parent_expr != hir::CRATE_HIR_ID { while parent_expr != hir::CRATE_HIR_ID {
if let hir::Node::Expr(e) = cx.tcx.hir().get(parent_expr) { if let hir::Node::Expr(e) = cx.tcx.hir().get(parent_expr) {
match e.node { match e.node {
@ -75,7 +75,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for SuspiciousImpl {
_ => {}, _ => {},
} }
} }
parent_expr = cx.tcx.hir().get_parent_node_by_hir_id(parent_expr); parent_expr = cx.tcx.hir().get_parent_node(parent_expr);
} }
// as a parent node // as a parent node
let mut visitor = BinaryExprVisitor { in_binary_expr: false }; let mut visitor = BinaryExprVisitor { in_binary_expr: false };

View file

@ -179,11 +179,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for TriviallyCopyPassByRef {
} }
// Exclude non-inherent impls // Exclude non-inherent impls
if let Some(Node::Item(item)) = cx if let Some(Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_node(hir_id)) {
.tcx
.hir()
.find_by_hir_id(cx.tcx.hir().get_parent_node_by_hir_id(hir_id))
{
if matches!(item.node, ItemKind::Impl(_, _, _, _, Some(_), _, _) | if matches!(item.node, ItemKind::Impl(_, _, _, _, Some(_), _, _) |
ItemKind::Trait(..)) ItemKind::Trait(..))
{ {

View file

@ -168,7 +168,7 @@ declare_lint_pass!(Types => [BOX_VEC, VEC_BOX, OPTION_OPTION, LINKEDLIST, BORROW
impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Types { impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Types {
fn check_fn(&mut self, cx: &LateContext<'_, '_>, _: FnKind<'_>, decl: &FnDecl, _: &Body, _: Span, id: HirId) { fn check_fn(&mut self, cx: &LateContext<'_, '_>, _: FnKind<'_>, decl: &FnDecl, _: &Body, _: Span, id: HirId) {
// Skip trait implementations; see issue #605. // Skip trait implementations; see issue #605.
if let Some(hir::Node::Item(item)) = cx.tcx.hir().find_by_hir_id(cx.tcx.hir().get_parent_item(id)) { if let Some(hir::Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_item(id)) {
if let ItemKind::Impl(_, _, _, _, Some(..), _, _) = item.node { if let ItemKind::Impl(_, _, _, _, Some(..), _, _) = item.node {
return; return;
} }
@ -585,7 +585,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnitArg {
} }
if_chain! { if_chain! {
let map = &cx.tcx.hir(); let map = &cx.tcx.hir();
let opt_parent_node = map.find_by_hir_id(map.get_parent_node_by_hir_id(expr.hir_id)); let opt_parent_node = map.find(map.get_parent_node(expr.hir_id));
if let Some(hir::Node::Expr(parent_expr)) = opt_parent_node; if let Some(hir::Node::Expr(parent_expr)) = opt_parent_node;
if is_questionmark_desugar_marked_call(parent_expr); if is_questionmark_desugar_marked_call(parent_expr);
then { then {

View file

@ -404,7 +404,7 @@ pub fn is_entrypoint_fn(cx: &LateContext<'_, '_>, def_id: DefId) -> bool {
/// Gets the name of the item the expression is in, if available. /// Gets the name of the item the expression is in, if available.
pub fn get_item_name(cx: &LateContext<'_, '_>, expr: &Expr) -> Option<Name> { pub fn get_item_name(cx: &LateContext<'_, '_>, expr: &Expr) -> Option<Name> {
let parent_id = cx.tcx.hir().get_parent_item(expr.hir_id); let parent_id = cx.tcx.hir().get_parent_item(expr.hir_id);
match cx.tcx.hir().find_by_hir_id(parent_id) { match cx.tcx.hir().find(parent_id) {
Some(Node::Item(&Item { ref ident, .. })) => Some(ident.name), Some(Node::Item(&Item { ref ident, .. })) => Some(ident.name),
Some(Node::TraitItem(&TraitItem { ident, .. })) | Some(Node::ImplItem(&ImplItem { ident, .. })) => { Some(Node::TraitItem(&TraitItem { ident, .. })) | Some(Node::ImplItem(&ImplItem { ident, .. })) => {
Some(ident.name) Some(ident.name)
@ -592,11 +592,11 @@ fn trim_multiline_inner(s: Cow<'_, str>, ignore_first: bool, ch: char) -> Cow<'_
pub fn get_parent_expr<'c>(cx: &'c LateContext<'_, '_>, e: &Expr) -> Option<&'c Expr> { pub fn get_parent_expr<'c>(cx: &'c LateContext<'_, '_>, e: &Expr) -> Option<&'c Expr> {
let map = &cx.tcx.hir(); let map = &cx.tcx.hir();
let hir_id = e.hir_id; let hir_id = e.hir_id;
let parent_id = map.get_parent_node_by_hir_id(hir_id); let parent_id = map.get_parent_node(hir_id);
if hir_id == parent_id { if hir_id == parent_id {
return None; return None;
} }
map.find_by_hir_id(parent_id).and_then(|node| { map.find(parent_id).and_then(|node| {
if let Node::Expr(parent) = node { if let Node::Expr(parent) = node {
Some(parent) Some(parent)
} else { } else {
@ -609,7 +609,7 @@ pub fn get_enclosing_block<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, hir_id: HirId)
let map = &cx.tcx.hir(); let map = &cx.tcx.hir();
let enclosing_node = map let enclosing_node = map
.get_enclosing_scope(hir_id) .get_enclosing_scope(hir_id)
.and_then(|enclosing_id| map.find_by_hir_id(enclosing_id)); .and_then(|enclosing_id| map.find(enclosing_id));
if let Some(node) = enclosing_node { if let Some(node) = enclosing_node {
match node { match node {
Node::Block(block) => Some(block), Node::Block(block) => Some(block),