Test tuple suggestions, including tuple-as-function-argument
This commit is contained in:
parent
94c300a452
commit
80059f9942
18
src/test/ui/suggestions/args-instead-of-tuple.fixed
Normal file
18
src/test/ui/suggestions/args-instead-of-tuple.fixed
Normal file
@ -0,0 +1,18 @@
|
||||
// Test suggesting tuples where bare arguments may have been passed
|
||||
// See issue #86481 for details.
|
||||
|
||||
// run-rustfix
|
||||
|
||||
fn main() {
|
||||
let _: Result<(i32, i8), ()> = Ok((1, 2));
|
||||
//~^ ERROR this enum variant takes 1 argument but 2 arguments were supplied
|
||||
let _: Option<(i32, i8, &'static str)> = Some((1, 2, "hi"));
|
||||
//~^ ERROR this enum variant takes 1 argument but 3 arguments were supplied
|
||||
let _: Option<()> = Some(());
|
||||
//~^ ERROR this enum variant takes 1 argument but 0 arguments were supplied
|
||||
|
||||
f((1, 2)); //~ ERROR this function takes 1 argument
|
||||
}
|
||||
|
||||
fn f(_: (i32, i32)) {
|
||||
}
|
18
src/test/ui/suggestions/args-instead-of-tuple.rs
Normal file
18
src/test/ui/suggestions/args-instead-of-tuple.rs
Normal file
@ -0,0 +1,18 @@
|
||||
// Test suggesting tuples where bare arguments may have been passed
|
||||
// See issue #86481 for details.
|
||||
|
||||
// run-rustfix
|
||||
|
||||
fn main() {
|
||||
let _: Result<(i32, i8), ()> = Ok(1, 2);
|
||||
//~^ ERROR this enum variant takes 1 argument but 2 arguments were supplied
|
||||
let _: Option<(i32, i8, &'static str)> = Some(1, 2, "hi");
|
||||
//~^ ERROR this enum variant takes 1 argument but 3 arguments were supplied
|
||||
let _: Option<()> = Some();
|
||||
//~^ ERROR this enum variant takes 1 argument but 0 arguments were supplied
|
||||
|
||||
f(1, 2); //~ ERROR this function takes 1 argument
|
||||
}
|
||||
|
||||
fn f(_: (i32, i32)) {
|
||||
}
|
52
src/test/ui/suggestions/args-instead-of-tuple.stderr
Normal file
52
src/test/ui/suggestions/args-instead-of-tuple.stderr
Normal file
@ -0,0 +1,52 @@
|
||||
error[E0061]: this enum variant takes 1 argument but 2 arguments were supplied
|
||||
--> $DIR/args-instead-of-tuple.rs:7:36
|
||||
|
|
||||
LL | let _: Result<(i32, i8), ()> = Ok(1, 2);
|
||||
| ^^ - - supplied 2 arguments
|
||||
|
|
||||
help: use parentheses to construct a tuple
|
||||
|
|
||||
LL | let _: Result<(i32, i8), ()> = Ok((1, 2));
|
||||
| + +
|
||||
|
||||
error[E0061]: this enum variant takes 1 argument but 3 arguments were supplied
|
||||
--> $DIR/args-instead-of-tuple.rs:9:46
|
||||
|
|
||||
LL | let _: Option<(i32, i8, &'static str)> = Some(1, 2, "hi");
|
||||
| ^^^^ - - ---- supplied 3 arguments
|
||||
|
|
||||
help: use parentheses to construct a tuple
|
||||
|
|
||||
LL | let _: Option<(i32, i8, &'static str)> = Some((1, 2, "hi"));
|
||||
| + +
|
||||
|
||||
error[E0061]: this enum variant takes 1 argument but 0 arguments were supplied
|
||||
--> $DIR/args-instead-of-tuple.rs:11:25
|
||||
|
|
||||
LL | let _: Option<()> = Some();
|
||||
| ^^^^-- supplied 0 arguments
|
||||
|
|
||||
help: expected the unit value `()`; create it with empty parentheses
|
||||
|
|
||||
LL | let _: Option<()> = Some(());
|
||||
| ++
|
||||
|
||||
error[E0061]: this function takes 1 argument but 2 arguments were supplied
|
||||
--> $DIR/args-instead-of-tuple.rs:14:5
|
||||
|
|
||||
LL | f(1, 2);
|
||||
| ^ - - supplied 2 arguments
|
||||
|
|
||||
note: function defined here
|
||||
--> $DIR/args-instead-of-tuple.rs:17:4
|
||||
|
|
||||
LL | fn f(_: (i32, i32)) {
|
||||
| ^ -------------
|
||||
help: use parentheses to construct a tuple
|
||||
|
|
||||
LL | f((1, 2));
|
||||
| + +
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0061`.
|
Loading…
x
Reference in New Issue
Block a user