about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2023-02-02 12:34:11 +0000
committerEsteban Küber <esteban@kuber.com.ar>2023-02-14 20:22:10 +0000
commit755252bf51c121b17436f59b35cfdbc7f0058d96 (patch)
tree594b2664cc6fb1809f59c8f16b5ccefe46ef0b08
parentbd176ee591cd391835bfbcb3409a743bac2128ca (diff)
downloadrust-755252bf51c121b17436f59b35cfdbc7f0058d96.tar.gz
rust-755252bf51c121b17436f59b35cfdbc7f0058d96.zip
Show the effects of weird code commented out
-rw-r--r--compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs28
-rw-r--r--tests/ui/argument-suggestions/issue-97484.stderr2
-rw-r--r--tests/ui/argument-suggestions/mixed_cases.stderr11
-rw-r--r--tests/ui/mismatched_types/overloaded-calls-bad.stderr11
-rw-r--r--tests/ui/suggestions/args-instead-of-tuple-errors.stderr20
-rw-r--r--tests/ui/tuple/wrong_argument_ice-3.stderr10
6 files changed, 35 insertions, 47 deletions
diff --git a/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs b/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs
index 005225b665c..6d164d1c2b2 100644
--- a/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs
+++ b/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs
@@ -1135,20 +1135,20 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
             }
         }
 
-        // Incorporate the argument changes in the removal suggestion.
-        let mut prev = -1;
-        for (expected_idx, provided_idx) in matched_inputs.iter_enumerated() {
-            if let Some(provided_idx) = provided_idx {
-                prev = provided_idx.index() as i64;
-            }
-            let idx = ProvidedIdx::from_usize((prev + 1) as usize);
-            if let None = provided_idx
-                && let Some((_, arg_span)) = provided_arg_tys.get(idx)
-            {
-                let (_, expected_ty) = formal_and_expected_inputs[expected_idx];
-                suggestions.push((*arg_span, ty_to_snippet(expected_ty, expected_idx)));
-            }
-        }
+        // // Incorporate the argument changes in the removal suggestion.
+        // let mut prev = -1;
+        // for (expected_idx, provided_idx) in matched_inputs.iter_enumerated() {
+        //     if let Some(provided_idx) = provided_idx {
+        //         prev = provided_idx.index() as i64;
+        //     }
+        //     let idx = ProvidedIdx::from_usize((prev + 1) as usize);
+        //     if let None = provided_idx
+        //         && let Some((_, arg_span)) = provided_arg_tys.get(idx)
+        //     {
+        //         let (_, expected_ty) = formal_and_expected_inputs[expected_idx];
+        //         suggestions.push((*arg_span, ty_to_snippet(expected_ty, expected_idx)));
+        //     }
+        // }
 
         // If we have less than 5 things to say, it would be useful to call out exactly what's wrong
         if labels.len() <= 5 {
diff --git a/tests/ui/argument-suggestions/issue-97484.stderr b/tests/ui/argument-suggestions/issue-97484.stderr
index a86cbbf1802..2c2797b3911 100644
--- a/tests/ui/argument-suggestions/issue-97484.stderr
+++ b/tests/ui/argument-suggestions/issue-97484.stderr
@@ -20,7 +20,7 @@ LL |     foo(&&A, B, C, D, &E, F, G);
 help: remove the extra arguments
    |
 LL -     foo(&&A, B, C, D, E, F, G);
-LL +     foo(&&A, D, /* &E */, G);
+LL +     foo(&&A, D, E, G);
    |
 
 error: aborting due to previous error
diff --git a/tests/ui/argument-suggestions/mixed_cases.stderr b/tests/ui/argument-suggestions/mixed_cases.stderr
index c645dd38179..cfa5702ab7f 100644
--- a/tests/ui/argument-suggestions/mixed_cases.stderr
+++ b/tests/ui/argument-suggestions/mixed_cases.stderr
@@ -2,8 +2,10 @@ error[E0061]: this function takes 2 arguments but 3 arguments were supplied
   --> $DIR/mixed_cases.rs:10:3
    |
 LL |   two_args(1, "", X {});
-   |   ^^^^^^^^    --  ---- unexpected argument of type `X`
-   |               |
+   |   ^^^^^^^^    --------
+   |               | | |
+   |               | | unexpected argument of type `X`
+   |               | help: remove the extra argument
    |               expected `f32`, found `&str`
    |
 note: function defined here
@@ -11,11 +13,6 @@ note: function defined here
    |
 LL | fn two_args(_a: i32, _b: f32) {}
    |    ^^^^^^^^ -------  -------
-help: remove the extra argument
-   |
-LL -   two_args(1, "", X {});
-LL +   two_args(1, /* f32 */);
-   |
 
 error[E0061]: this function takes 3 arguments but 4 arguments were supplied
   --> $DIR/mixed_cases.rs:11:3
diff --git a/tests/ui/mismatched_types/overloaded-calls-bad.stderr b/tests/ui/mismatched_types/overloaded-calls-bad.stderr
index cd483e7ad2c..8032aa32b4f 100644
--- a/tests/ui/mismatched_types/overloaded-calls-bad.stderr
+++ b/tests/ui/mismatched_types/overloaded-calls-bad.stderr
@@ -32,8 +32,10 @@ error[E0057]: this function takes 1 argument but 2 arguments were supplied
   --> $DIR/overloaded-calls-bad.rs:37:15
    |
 LL |     let ans = s("burma", "shave");
-   |               ^ -------  ------- unexpected argument of type `&'static str`
-   |                 |
+   |               ^ ----------------
+   |                 |      | |
+   |                 |      | unexpected argument of type `&'static str`
+   |                 |      help: remove the extra argument
    |                 expected `isize`, found `&str`
    |
 note: implementation defined here
@@ -41,11 +43,6 @@ note: implementation defined here
    |
 LL | impl FnMut<(isize,)> for S {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
-help: remove the extra argument
-   |
-LL -     let ans = s("burma", "shave");
-LL +     let ans = s(/* isize */);
-   |
 
 error[E0308]: mismatched types
   --> $DIR/overloaded-calls-bad.rs:40:7
diff --git a/tests/ui/suggestions/args-instead-of-tuple-errors.stderr b/tests/ui/suggestions/args-instead-of-tuple-errors.stderr
index 510b99bb5af..143363321da 100644
--- a/tests/ui/suggestions/args-instead-of-tuple-errors.stderr
+++ b/tests/ui/suggestions/args-instead-of-tuple-errors.stderr
@@ -2,7 +2,10 @@ error[E0061]: this enum variant takes 1 argument but 2 arguments were supplied
   --> $DIR/args-instead-of-tuple-errors.rs:6:34
    |
 LL |     let _: Option<(i32, bool)> = Some(1, 2);
-   |                                  ^^^^    - unexpected argument of type `{integer}`
+   |                                  ^^^^  ---
+   |                                        | |
+   |                                        | unexpected argument of type `{integer}`
+   |                                        help: remove the extra argument
    |
 note: expected `(i32, bool)`, found integer
   --> $DIR/args-instead-of-tuple-errors.rs:6:39
@@ -20,17 +23,15 @@ LL |     let _: Option<(i32, bool)> = Some(1, 2);
    |                                       this argument influences the type of `Some`
 note: tuple variant defined here
   --> $SRC_DIR/core/src/option.rs:LL:COL
-help: remove the extra argument
-   |
-LL -     let _: Option<(i32, bool)> = Some(1, 2);
-LL +     let _: Option<(i32, bool)> = Some(/* (i32, bool) */);
-   |
 
 error[E0061]: this function takes 1 argument but 2 arguments were supplied
   --> $DIR/args-instead-of-tuple-errors.rs:8:5
    |
 LL |     int_bool(1, 2);
-   |     ^^^^^^^^    - unexpected argument of type `{integer}`
+   |     ^^^^^^^^  ---
+   |               | |
+   |               | unexpected argument of type `{integer}`
+   |               help: remove the extra argument
    |
 note: expected `(i32, bool)`, found integer
   --> $DIR/args-instead-of-tuple-errors.rs:8:14
@@ -44,11 +45,6 @@ note: function defined here
    |
 LL | fn int_bool(_: (i32, bool)) {
    |    ^^^^^^^^ --------------
-help: remove the extra argument
-   |
-LL -     int_bool(1, 2);
-LL +     int_bool(/* (i32, bool) */);
-   |
 
 error[E0061]: this enum variant takes 1 argument but 0 arguments were supplied
   --> $DIR/args-instead-of-tuple-errors.rs:11:28
diff --git a/tests/ui/tuple/wrong_argument_ice-3.stderr b/tests/ui/tuple/wrong_argument_ice-3.stderr
index 7143c959478..8b4fca4de7d 100644
--- a/tests/ui/tuple/wrong_argument_ice-3.stderr
+++ b/tests/ui/tuple/wrong_argument_ice-3.stderr
@@ -2,7 +2,10 @@ error[E0061]: this method takes 1 argument but 2 arguments were supplied
   --> $DIR/wrong_argument_ice-3.rs:9:16
    |
 LL |         groups.push(new_group, vec![process]);
-   |                ^^^^            ------------- unexpected argument of type `Vec<&Process>`
+   |                ^^^^          ---------------
+   |                              | |
+   |                              | unexpected argument of type `Vec<&Process>`
+   |                              help: remove the extra argument
    |
 note: expected `(Vec<String>, Vec<Process>)`, found `Vec<String>`
   --> $DIR/wrong_argument_ice-3.rs:9:21
@@ -13,11 +16,6 @@ LL |         groups.push(new_group, vec![process]);
              found struct `Vec<String>`
 note: associated function defined here
   --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
-help: remove the extra argument
-   |
-LL -         groups.push(new_group, vec![process]);
-LL +         groups.push(/* (Vec<String>, Vec<Process>) */);
-   |
 
 error: aborting due to previous error