about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2023-01-05 17:06:34 +0000
committerEsteban Küber <esteban@kuber.com.ar>2023-01-05 17:09:41 +0000
commitf98f2fcb5e4985bd7b12bae4ec03f2d96197fb2b (patch)
tree875604b1a550ef354e0b24b3e0221423ac27cd59
parentb182259d391a033a3a7017a7be7d5494405fc8e9 (diff)
downloadrust-f98f2fcb5e4985bd7b12bae4ec03f2d96197fb2b.tar.gz
rust-f98f2fcb5e4985bd7b12bae4ec03f2d96197fb2b.zip
fix rebase
-rw-r--r--compiler/rustc_hir_typeck/src/demand.rs10
-rw-r--r--src/test/ui/type/type-check/point-at-inference-3.fixed2
-rw-r--r--src/test/ui/type/type-check/point-at-inference-3.rs2
-rw-r--r--src/test/ui/type/type-check/point-at-inference-3.stderr2
4 files changed, 7 insertions, 9 deletions
diff --git a/compiler/rustc_hir_typeck/src/demand.rs b/compiler/rustc_hir_typeck/src/demand.rs
index 6cf515cbb0a..cf070eb962f 100644
--- a/compiler/rustc_hir_typeck/src/demand.rs
+++ b/compiler/rustc_hir_typeck/src/demand.rs
@@ -226,12 +226,11 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
         let [hir::PathSegment { ident, args: None, .. }] = p.segments else { return false; };
         let hir::def::Res::Local(hir_id) = p.res else { return false; };
         let Some(hir::Node::Pat(pat)) = map.find(hir_id) else { return false; };
-        let parent = map.get_parent_node(pat.hir_id);
         let Some(hir::Node::Local(hir::Local {
             ty: None,
             init: Some(init),
             ..
-        })) = map.find(parent) else { return false; };
+        })) = map.find_parent(pat.hir_id) else { return false; };
         let Some(ty) = self.node_ty_opt(init.hir_id) else { return false; };
         if ty.is_closure() || init.span.overlaps(expr.span) || pat.span.from_expansion() {
             return false;
@@ -285,12 +284,11 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
             // In every expression where the binding is referenced, we will look at that
             // expression's type and see if it is where the incorrect found type was fully
             // "materialized" and point at it. We will also try to provide a suggestion there.
-            let parent = map.get_parent_node(binding.hir_id);
-            if let Some(hir::Node::Expr(expr))
-            | Some(hir::Node::Stmt(hir::Stmt {
+            if let Some(hir::Node::Expr(expr)
+            | hir::Node::Stmt(hir::Stmt {
                 kind: hir::StmtKind::Expr(expr) | hir::StmtKind::Semi(expr),
                 ..
-            })) = &map.find(parent)
+            })) = &map.find_parent(binding.hir_id)
                 && let hir::ExprKind::MethodCall(segment, rcvr, args, _span) = expr.kind
                 && rcvr.hir_id == binding.hir_id
                 && let Some(def_id) = self.typeck_results.borrow().type_dependent_def_id(expr.hir_id)
diff --git a/src/test/ui/type/type-check/point-at-inference-3.fixed b/src/test/ui/type/type-check/point-at-inference-3.fixed
index 870f2779b8c..1a960133ceb 100644
--- a/src/test/ui/type/type-check/point-at-inference-3.fixed
+++ b/src/test/ui/type/type-check/point-at-inference-3.fixed
@@ -6,7 +6,7 @@ fn main() {
     v.push(0);
     v.push(1i32); //~ ERROR mismatched types
     //~^ NOTE expected `i32`, found `u32`
-    //~| NOTE arguments to this function are incorrect
+    //~| NOTE arguments to this method are incorrect
     //~| NOTE associated function defined here
     //~| HELP change the type of the numeric literal from `u32` to `i32`
 }
diff --git a/src/test/ui/type/type-check/point-at-inference-3.rs b/src/test/ui/type/type-check/point-at-inference-3.rs
index a4471e12fc2..92910ae1a31 100644
--- a/src/test/ui/type/type-check/point-at-inference-3.rs
+++ b/src/test/ui/type/type-check/point-at-inference-3.rs
@@ -6,7 +6,7 @@ fn main() {
     v.push(0);
     v.push(1u32); //~ ERROR mismatched types
     //~^ NOTE expected `i32`, found `u32`
-    //~| NOTE arguments to this function are incorrect
+    //~| NOTE arguments to this method are incorrect
     //~| NOTE associated function defined here
     //~| HELP change the type of the numeric literal from `u32` to `i32`
 }
diff --git a/src/test/ui/type/type-check/point-at-inference-3.stderr b/src/test/ui/type/type-check/point-at-inference-3.stderr
index c373c6722fd..999c3148362 100644
--- a/src/test/ui/type/type-check/point-at-inference-3.stderr
+++ b/src/test/ui/type/type-check/point-at-inference-3.stderr
@@ -7,7 +7,7 @@ LL |     v.push(0i32);
 LL |     v.push(1u32);
    |       ---- ^^^^ expected `i32`, found `u32`
    |       |
-   |       arguments to this function are incorrect
+   |       arguments to this method are incorrect
    |
 note: associated function defined here
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL