mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 11:48:30 +00:00
Rollup merge of #35289 - birryree:E0060_E0061_format_update, r=jonathandturner
E0060 e0061 format update This fixes #35215 and fixes #35216 as part of #35233 A separate issue will be opened to track the bonus portion of the tickets as @jaredwy will be handling that part. ?r @jonathandturner
This commit is contained in:
commit
7cb933ed82
@ -2384,6 +2384,12 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
|||||||
arg_count,
|
arg_count,
|
||||||
if arg_count == 1 {" was"} else {"s were"}),
|
if arg_count == 1 {" was"} else {"s were"}),
|
||||||
error_code);
|
error_code);
|
||||||
|
|
||||||
|
err.span_label(sp, &format!("expected {}{} parameter{}",
|
||||||
|
if variadic {"at least "} else {""},
|
||||||
|
expected_count,
|
||||||
|
if expected_count == 1 {""} else {"s"}));
|
||||||
|
|
||||||
let input_types = fn_inputs.iter().map(|i| format!("{:?}", i)).collect::<Vec<String>>();
|
let input_types = fn_inputs.iter().map(|i| format!("{:?}", i)).collect::<Vec<String>>();
|
||||||
if input_types.len() > 0 {
|
if input_types.len() > 0 {
|
||||||
err.note(&format!("the following parameter type{} expected: {}",
|
err.note(&format!("the following parameter type{} expected: {}",
|
||||||
|
@ -13,5 +13,8 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
unsafe { printf(); } //~ ERROR E0060
|
unsafe { printf(); }
|
||||||
|
//~^ ERROR E0060
|
||||||
|
//~| NOTE expected at least 1 parameter
|
||||||
|
//~| NOTE the following parameter type was expected
|
||||||
}
|
}
|
||||||
|
@ -11,5 +11,8 @@
|
|||||||
fn f(a: u16, b: &str) {}
|
fn f(a: u16, b: &str) {}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
f(0); //~ ERROR E0061
|
f(0);
|
||||||
|
//~^ ERROR E0061
|
||||||
|
//~| NOTE expected 2 parameters
|
||||||
|
//~| NOTE the following parameter types were expected
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,8 @@ fn print_x(_: &Foo<Item=bool>, extra: &str) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
print_x(X); //~error this function takes 2 parameters but 1 parameter was supplied
|
print_x(X);
|
||||||
//~^ NOTE the following parameter types were expected: &Foo<Item=bool>, &str
|
//~^ ERROR this function takes 2 parameters but 1 parameter was supplied
|
||||||
|
//~| NOTE the following parameter types were expected: &Foo<Item=bool>, &str
|
||||||
|
//~| NOTE expected 2 parameters
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ fn main() {
|
|||||||
needlesArr.iter().fold(|x, y| {
|
needlesArr.iter().fold(|x, y| {
|
||||||
});
|
});
|
||||||
//~^^ ERROR this function takes 2 parameters but 1 parameter was supplied
|
//~^^ ERROR this function takes 2 parameters but 1 parameter was supplied
|
||||||
//~^^^ NOTE the following parameter types were expected
|
//~| NOTE the following parameter types were expected
|
||||||
//
|
//~| NOTE expected 2 parameters
|
||||||
// the first error is, um, non-ideal.
|
// the first error is, um, non-ideal.
|
||||||
}
|
}
|
||||||
|
@ -11,5 +11,7 @@
|
|||||||
// Regression test for issue #4935
|
// Regression test for issue #4935
|
||||||
|
|
||||||
fn foo(a: usize) {}
|
fn foo(a: usize) {}
|
||||||
fn main() { foo(5, 6) } //~ ERROR this function takes 1 parameter but 2 parameters were supplied
|
fn main() { foo(5, 6) }
|
||||||
//~^ NOTE the following parameter type was expected
|
//~^ ERROR this function takes 1 parameter but 2 parameters were supplied
|
||||||
|
//~| NOTE the following parameter type was expected
|
||||||
|
//~| NOTE expected 1 parameter
|
||||||
|
@ -20,10 +20,13 @@ impl Foo {
|
|||||||
fn main() {
|
fn main() {
|
||||||
let x = Foo;
|
let x = Foo;
|
||||||
x.zero(0) //~ ERROR this function takes 0 parameters but 1 parameter was supplied
|
x.zero(0) //~ ERROR this function takes 0 parameters but 1 parameter was supplied
|
||||||
|
//~^ NOTE expected 0 parameters
|
||||||
.one() //~ ERROR this function takes 1 parameter but 0 parameters were supplied
|
.one() //~ ERROR this function takes 1 parameter but 0 parameters were supplied
|
||||||
//~^ NOTE the following parameter type was expected
|
//~^ NOTE the following parameter type was expected
|
||||||
|
//~| NOTE expected 1 parameter
|
||||||
.two(0); //~ ERROR this function takes 2 parameters but 1 parameter was supplied
|
.two(0); //~ ERROR this function takes 2 parameters but 1 parameter was supplied
|
||||||
//~^ NOTE the following parameter types were expected
|
//~^ NOTE the following parameter types were expected
|
||||||
|
//~| NOTE expected 2 parameters
|
||||||
|
|
||||||
let y = Foo;
|
let y = Foo;
|
||||||
y.zero()
|
y.zero()
|
||||||
|
@ -19,5 +19,6 @@ fn foo(a: isize, b: isize, c: isize, d:isize) {
|
|||||||
fn main() {
|
fn main() {
|
||||||
foo(1, 2, 3);
|
foo(1, 2, 3);
|
||||||
//~^ ERROR this function takes 4 parameters but 3
|
//~^ ERROR this function takes 4 parameters but 3
|
||||||
//~^^ NOTE the following parameter types were expected
|
//~| NOTE the following parameter types were expected
|
||||||
|
//~| NOTE expected 4 parameters
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,9 @@ fn main() {
|
|||||||
let ans = s();
|
let ans = s();
|
||||||
//~^ ERROR this function takes 1 parameter but 0 parameters were supplied
|
//~^ ERROR this function takes 1 parameter but 0 parameters were supplied
|
||||||
//~| NOTE the following parameter type was expected
|
//~| NOTE the following parameter type was expected
|
||||||
|
//~| NOTE expected 1 parameter
|
||||||
let ans = s("burma", "shave");
|
let ans = s("burma", "shave");
|
||||||
//~^ ERROR this function takes 1 parameter but 2 parameters were supplied
|
//~^ ERROR this function takes 1 parameter but 2 parameters were supplied
|
||||||
//~| NOTE the following parameter type was expected
|
//~| NOTE the following parameter type was expected
|
||||||
|
//~| NOTE expected 1 parameter
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,10 @@ fn main() {
|
|||||||
unsafe {
|
unsafe {
|
||||||
foo(); //~ ERROR: this function takes at least 2 parameters but 0 parameters were supplied
|
foo(); //~ ERROR: this function takes at least 2 parameters but 0 parameters were supplied
|
||||||
//~^ NOTE the following parameter types were expected
|
//~^ NOTE the following parameter types were expected
|
||||||
|
//~| NOTE expected at least 2 parameters
|
||||||
foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied
|
foo(1); //~ ERROR: this function takes at least 2 parameters but 1 parameter was supplied
|
||||||
//~^ NOTE the following parameter types were expected
|
//~^ NOTE the following parameter types were expected
|
||||||
|
//~| NOTE expected at least 2 parameters
|
||||||
|
|
||||||
let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
|
let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
|
||||||
//~^ ERROR: mismatched types
|
//~^ ERROR: mismatched types
|
||||||
|
Loading…
Reference in New Issue
Block a user