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:
commit
e3cb40e4f7
@ -63,7 +63,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoxedLocal {
|
||||
) {
|
||||
// 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_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 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 consume_pat(&mut self, consume_pat: &Pat, cmt: &cmt_<'tcx>, _: ConsumeMode) {
|
||||
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
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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 Some(ref ex) = loc.init {
|
||||
if let ExprKind::Box(..) = ex.node {
|
||||
|
@ -176,11 +176,11 @@ fn check_for_unsequenced_reads(vis: &mut ReadVisitor<'_, '_>) {
|
||||
let map = &vis.cx.tcx.hir();
|
||||
let mut cur_id = vis.write_expr.hir_id;
|
||||
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 {
|
||||
break;
|
||||
}
|
||||
let parent_node = match map.find_by_hir_id(parent_id) {
|
||||
let parent_node = match map.find(parent_id) {
|
||||
Some(parent) => parent,
|
||||
None => break,
|
||||
};
|
||||
|
@ -107,11 +107,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Functions {
|
||||
span: Span,
|
||||
hir_id: hir::HirId,
|
||||
) {
|
||||
let is_impl = if let Some(hir::Node::Item(item)) = cx
|
||||
.tcx
|
||||
.hir()
|
||||
.find_by_hir_id(cx.tcx.hir().get_parent_node_by_hir_id(hir_id))
|
||||
{
|
||||
let is_impl = if let Some(hir::Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_node(hir_id)) {
|
||||
matches!(item.node, hir::ItemKind::Impl(_, _, _, _, Some(_), _, _))
|
||||
} else {
|
||||
false
|
||||
|
@ -2218,8 +2218,8 @@ fn is_conditional(expr: &Expr) -> bool {
|
||||
fn is_nested(cx: &LateContext<'_, '_>, match_expr: &Expr, iter_expr: &Expr) -> bool {
|
||||
if_chain! {
|
||||
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);
|
||||
if let Some(Node::Expr(loop_expr)) = cx.tcx.hir().find_by_hir_id(parent_node);
|
||||
let parent_node = cx.tcx.hir().get_parent_node(loop_block.hir_id);
|
||||
if let Some(Node::Expr(loop_expr)) = cx.tcx.hir().find(parent_node);
|
||||
then {
|
||||
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;
|
||||
};
|
||||
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 {
|
||||
return false;
|
||||
}
|
||||
match cx.tcx.hir().find_by_hir_id(parent) {
|
||||
match cx.tcx.hir().find(parent) {
|
||||
Some(Node::Expr(expr)) => match expr.node {
|
||||
ExprKind::Loop(..) | ExprKind::While(..) => {
|
||||
return true;
|
||||
|
@ -1423,7 +1423,7 @@ fn lint_clone_on_copy(cx: &LateContext<'_, '_>, expr: &hir::Expr, arg: &hir::Exp
|
||||
if cx.tables.expr_ty(arg) == ty {
|
||||
snip = Some(("try removing the `clone` call", format!("{}", snippet)));
|
||||
} 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) {
|
||||
hir::Node::Expr(parent) => match parent.node {
|
||||
// &*x is a nop, &x.clone() is not
|
||||
|
@ -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 {
|
||||
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);
|
||||
|
||||
if let rustc::hir::Node::Expr(e) = parent_node {
|
||||
|
@ -88,11 +88,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NeedlessPassByValue {
|
||||
}
|
||||
|
||||
// Exclude non-inherent impls
|
||||
if let Some(Node::Item(item)) = cx
|
||||
.tcx
|
||||
.hir()
|
||||
.find_by_hir_id(cx.tcx.hir().get_parent_node_by_hir_id(hir_id))
|
||||
{
|
||||
if let Some(Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_node(hir_id)) {
|
||||
if matches!(item.node, ItemKind::Impl(_, _, _, _, Some(_), _, _) |
|
||||
ItemKind::Trait(..))
|
||||
{
|
||||
@ -357,14 +353,14 @@ impl<'a, 'tcx> MovedVariablesCtxt<'a, 'tcx> {
|
||||
if let mc::Categorization::Local(vid) = cmt.cat {
|
||||
let mut id = matched_pat.hir_id;
|
||||
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 {
|
||||
// no parent
|
||||
return;
|
||||
}
|
||||
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 {
|
||||
Node::Expr(e) => {
|
||||
// `match` and `if let`
|
||||
|
@ -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) {
|
||||
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);
|
||||
// Ensure the impl is an inherent impl.
|
||||
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 needs_check_adjustment = true;
|
||||
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 {
|
||||
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 {
|
||||
ExprKind::AddrOf(..) => {
|
||||
// `&e` => `e` must be referenced.
|
||||
|
@ -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) {
|
||||
if let ImplItemKind::Method(ref sig, body_id) = item.node {
|
||||
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 {
|
||||
return; // ignore trait impls
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for SuspiciousImpl {
|
||||
}
|
||||
// Check if the binary expression is part of another bi/unary expression
|
||||
// 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 {
|
||||
if let hir::Node::Expr(e) = cx.tcx.hir().get(parent_expr) {
|
||||
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
|
||||
let mut visitor = BinaryExprVisitor { in_binary_expr: false };
|
||||
|
@ -179,11 +179,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for TriviallyCopyPassByRef {
|
||||
}
|
||||
|
||||
// Exclude non-inherent impls
|
||||
if let Some(Node::Item(item)) = cx
|
||||
.tcx
|
||||
.hir()
|
||||
.find_by_hir_id(cx.tcx.hir().get_parent_node_by_hir_id(hir_id))
|
||||
{
|
||||
if let Some(Node::Item(item)) = cx.tcx.hir().find(cx.tcx.hir().get_parent_node(hir_id)) {
|
||||
if matches!(item.node, ItemKind::Impl(_, _, _, _, Some(_), _, _) |
|
||||
ItemKind::Trait(..))
|
||||
{
|
||||
|
@ -168,7 +168,7 @@ declare_lint_pass!(Types => [BOX_VEC, VEC_BOX, OPTION_OPTION, LINKEDLIST, BORROW
|
||||
impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Types {
|
||||
fn check_fn(&mut self, cx: &LateContext<'_, '_>, _: FnKind<'_>, decl: &FnDecl, _: &Body, _: Span, id: HirId) {
|
||||
// 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 {
|
||||
return;
|
||||
}
|
||||
@ -585,7 +585,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnitArg {
|
||||
}
|
||||
if_chain! {
|
||||
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 is_questionmark_desugar_marked_call(parent_expr);
|
||||
then {
|
||||
|
@ -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.
|
||||
pub fn get_item_name(cx: &LateContext<'_, '_>, expr: &Expr) -> Option<Name> {
|
||||
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::TraitItem(&TraitItem { ident, .. })) | Some(Node::ImplItem(&ImplItem { ident, .. })) => {
|
||||
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> {
|
||||
let map = &cx.tcx.hir();
|
||||
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 {
|
||||
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 {
|
||||
Some(parent)
|
||||
} 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 enclosing_node = map
|
||||
.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 {
|
||||
match node {
|
||||
Node::Block(block) => Some(block),
|
||||
|
Loading…
Reference in New Issue
Block a user