Skip to content

Commit 7cb933e

Browse files
Rollup merge of rust-lang#35289 - birryree:E0060_E0061_format_update, r=jonathandturner
E0060 e0061 format update This fixes rust-lang#35215 and fixes rust-lang#35216 as part of rust-lang#35233 A separate issue will be opened to track the bonus portion of the tickets as @jaredwy will be handling that part. ?r @jonathandturner
2 parents da981cf + ded0d51 commit 7cb933e

File tree

10 files changed

+33
-9
lines changed

10 files changed

+33
-9
lines changed

src/librustc_typeck/check/mod.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2384,6 +2384,12 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
23842384
arg_count,
23852385
if arg_count == 1 {" was"} else {"s were"}),
23862386
error_code);
2387+
2388+
err.span_label(sp, &format!("expected {}{} parameter{}",
2389+
if variadic {"at least "} else {""},
2390+
expected_count,
2391+
if expected_count == 1 {""} else {"s"}));
2392+
23872393
let input_types = fn_inputs.iter().map(|i| format!("{:?}", i)).collect::<Vec<String>>();
23882394
if input_types.len() > 0 {
23892395
err.note(&format!("the following parameter type{} expected: {}",

src/test/compile-fail/E0060.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,8 @@ extern "C" {
1313
}
1414

1515
fn main() {
16-
unsafe { printf(); } //~ ERROR E0060
16+
unsafe { printf(); }
17+
//~^ ERROR E0060
18+
//~| NOTE expected at least 1 parameter
19+
//~| NOTE the following parameter type was expected
1720
}

src/test/compile-fail/E0061.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@
1111
fn f(a: u16, b: &str) {}
1212

1313
fn main() {
14-
f(0); //~ ERROR E0061
14+
f(0);
15+
//~^ ERROR E0061
16+
//~| NOTE expected 2 parameters
17+
//~| NOTE the following parameter types were expected
1518
}

src/test/compile-fail/issue-18819.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ fn print_x(_: &Foo<Item=bool>, extra: &str) {
2323
}
2424

2525
fn main() {
26-
print_x(X); //~error this function takes 2 parameters but 1 parameter was supplied
27-
//~^ NOTE the following parameter types were expected: &Foo<Item=bool>, &str
26+
print_x(X);
27+
//~^ ERROR this function takes 2 parameters but 1 parameter was supplied
28+
//~| NOTE the following parameter types were expected: &Foo<Item=bool>, &str
29+
//~| NOTE expected 2 parameters
2830
}

src/test/compile-fail/issue-3044.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ fn main() {
1414
needlesArr.iter().fold(|x, y| {
1515
});
1616
//~^^ ERROR this function takes 2 parameters but 1 parameter was supplied
17-
//~^^^ NOTE the following parameter types were expected
18-
//
17+
//~| NOTE the following parameter types were expected
18+
//~| NOTE expected 2 parameters
1919
// the first error is, um, non-ideal.
2020
}

src/test/compile-fail/issue-4935.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@
1111
// Regression test for issue #4935
1212

1313
fn foo(a: usize) {}
14-
fn main() { foo(5, 6) } //~ ERROR this function takes 1 parameter but 2 parameters were supplied
15-
//~^ NOTE the following parameter type was expected
14+
fn main() { foo(5, 6) }
15+
//~^ ERROR this function takes 1 parameter but 2 parameters were supplied
16+
//~| NOTE the following parameter type was expected
17+
//~| NOTE expected 1 parameter

src/test/compile-fail/method-call-err-msg.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,13 @@ impl Foo {
2020
fn main() {
2121
let x = Foo;
2222
x.zero(0) //~ ERROR this function takes 0 parameters but 1 parameter was supplied
23+
//~^ NOTE expected 0 parameters
2324
.one() //~ ERROR this function takes 1 parameter but 0 parameters were supplied
2425
//~^ NOTE the following parameter type was expected
26+
//~| NOTE expected 1 parameter
2527
.two(0); //~ ERROR this function takes 2 parameters but 1 parameter was supplied
2628
//~^ NOTE the following parameter types were expected
29+
//~| NOTE expected 2 parameters
2730

2831
let y = Foo;
2932
y.zero()

src/test/compile-fail/not-enough-arguments.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@ fn foo(a: isize, b: isize, c: isize, d:isize) {
1919
fn main() {
2020
foo(1, 2, 3);
2121
//~^ ERROR this function takes 4 parameters but 3
22-
//~^^ NOTE the following parameter types were expected
22+
//~| NOTE the following parameter types were expected
23+
//~| NOTE expected 4 parameters
2324
}

src/test/compile-fail/overloaded-calls-bad.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ fn main() {
4242
let ans = s();
4343
//~^ ERROR this function takes 1 parameter but 0 parameters were supplied
4444
//~| NOTE the following parameter type was expected
45+
//~| NOTE expected 1 parameter
4546
let ans = s("burma", "shave");
4647
//~^ ERROR this function takes 1 parameter but 2 parameters were supplied
4748
//~| NOTE the following parameter type was expected
49+
//~| NOTE expected 1 parameter
4850
}

src/test/compile-fail/variadic-ffi-3.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ fn main() {
1818
unsafe {
1919
foo(); //~ ERROR: this function takes at least 2 parameters but 0 parameters were supplied
2020
//~^ NOTE the following parameter types were expected
21+
//~| NOTE expected at least 2 parameters
2122
foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied
2223
//~^ NOTE the following parameter types were expected
24+
//~| NOTE expected at least 2 parameters
2325

2426
let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
2527
//~^ ERROR: mismatched types

0 commit comments

Comments
 (0)