diff options
Diffstat (limited to '')
5 files changed, 106 insertions, 30 deletions
diff --git a/src/test/ui/type/type-check-defaults.stderr b/src/test/ui/type/type-check-defaults.stderr index 56a9b5317..cf77c057d 100644 --- a/src/test/ui/type/type-check-defaults.stderr +++ b/src/test/ui/type/type-check-defaults.stderr @@ -1,8 +1,8 @@ error[E0277]: a value of type `i32` cannot be built from an iterator over elements of type `i32` - --> $DIR/type-check-defaults.rs:6:19 + --> $DIR/type-check-defaults.rs:6:23 | LL | struct WellFormed<Z = Foo<i32, i32>>(Z); - | ^^^^^^^^^^^^^^^^^ value of type `i32` cannot be built from `std::iter::Iterator<Item=i32>` + | ^^^^^^^^^^^^^ value of type `i32` cannot be built from `std::iter::Iterator<Item=i32>` | = help: the trait `FromIterator<i32>` is not implemented for `i32` note: required by a bound in `Foo` @@ -12,10 +12,10 @@ LL | struct Foo<T, U: FromIterator<T>>(T, U); | ^^^^^^^^^^^^^^^ required by this bound in `Foo` error[E0277]: a value of type `i32` cannot be built from an iterator over elements of type `i32` - --> $DIR/type-check-defaults.rs:8:27 + --> $DIR/type-check-defaults.rs:8:38 | LL | struct WellFormedNoBounds<Z:?Sized = Foo<i32, i32>>(Z); - | ^^^^^^^^^^^^^^^^^^^^^^^^ value of type `i32` cannot be built from `std::iter::Iterator<Item=i32>` + | ^^^^^^^^^^^^^ value of type `i32` cannot be built from `std::iter::Iterator<Item=i32>` | = help: the trait `FromIterator<i32>` is not implemented for `i32` note: required by a bound in `Foo` diff --git a/src/test/ui/type/type-check/assignment-expected-bool.stderr b/src/test/ui/type/type-check/assignment-expected-bool.stderr index e2b821f7b..56494baff 100644 --- a/src/test/ui/type/type-check/assignment-expected-bool.stderr +++ b/src/test/ui/type/type-check/assignment-expected-bool.stderr @@ -7,7 +7,7 @@ LL | let _: bool = 0 = 0; help: you might have meant to compare for equality | LL | let _: bool = 0 == 0; - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:9:14 @@ -18,7 +18,7 @@ LL | 0 => 0 = 0, help: you might have meant to compare for equality | LL | 0 => 0 == 0, - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:10:14 @@ -29,7 +29,7 @@ LL | _ => 0 = 0, help: you might have meant to compare for equality | LL | _ => 0 == 0, - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:14:17 @@ -40,7 +40,7 @@ LL | true => 0 = 0, help: you might have meant to compare for equality | LL | true => 0 == 0, - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:18:8 @@ -51,7 +51,7 @@ LL | if 0 = 0 {} help: you might have meant to compare for equality | LL | if 0 == 0 {} - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:20:24 @@ -62,7 +62,7 @@ LL | let _: bool = if { 0 = 0 } { help: you might have meant to compare for equality | LL | let _: bool = if { 0 == 0 } { - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:21:9 @@ -73,7 +73,7 @@ LL | 0 = 0 help: you might have meant to compare for equality | LL | 0 == 0 - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:23:9 @@ -84,7 +84,7 @@ LL | 0 = 0 help: you might have meant to compare for equality | LL | 0 == 0 - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:26:13 @@ -95,7 +95,7 @@ LL | let _ = (0 = 0) help: you might have meant to compare for equality | LL | let _ = (0 == 0) - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:27:14 @@ -106,7 +106,7 @@ LL | && { 0 = 0 } help: you might have meant to compare for equality | LL | && { 0 == 0 } - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-expected-bool.rs:28:12 @@ -117,7 +117,7 @@ LL | || (0 = 0); help: you might have meant to compare for equality | LL | || (0 == 0); - | ~~ + | + error[E0070]: invalid left-hand side of assignment --> $DIR/assignment-expected-bool.rs:31:22 diff --git a/src/test/ui/type/type-check/assignment-in-if.rs b/src/test/ui/type/type-check/assignment-in-if.rs index 8da7b32b4..ada250df2 100644 --- a/src/test/ui/type/type-check/assignment-in-if.rs +++ b/src/test/ui/type/type-check/assignment-in-if.rs @@ -40,4 +40,23 @@ fn main() { ) { println!("{}", x); } + + if x == x && x = x && x == x { + //~^ ERROR mismatched types + //~| ERROR mismatched types + //~| ERROR mismatched types + println!("{}", x); + } + + if x == x && x == x && x = x { + //~^ ERROR mismatched types + //~| ERROR mismatched types + println!("{}", x); + } + + if x = 1 && x == 1 { + //~^ ERROR mismatched types + //~| ERROR mismatched types + println!("{}", x); + } } diff --git a/src/test/ui/type/type-check/assignment-in-if.stderr b/src/test/ui/type/type-check/assignment-in-if.stderr index f4ef44e24..8ab08e25e 100644 --- a/src/test/ui/type/type-check/assignment-in-if.stderr +++ b/src/test/ui/type/type-check/assignment-in-if.stderr @@ -7,7 +7,7 @@ LL | if x = x { help: you might have meant to compare for equality | LL | if x == x { - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-in-if.rs:20:8 @@ -18,7 +18,7 @@ LL | if (x = x) { help: you might have meant to compare for equality | LL | if (x == x) { - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-in-if.rs:25:8 @@ -29,7 +29,7 @@ LL | if y = (Foo { foo: x }) { help: you might have meant to compare for equality | LL | if y == (Foo { foo: x }) { - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-in-if.rs:30:8 @@ -40,7 +40,7 @@ LL | if 3 = x { help: you might have meant to compare for equality | LL | if 3 == x { - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-in-if.rs:36:13 @@ -51,7 +51,7 @@ LL | x = 4 help: you might have meant to compare for equality | LL | x == 4 - | ~~ + | + error[E0308]: mismatched types --> $DIR/assignment-in-if.rs:38:13 @@ -62,8 +62,65 @@ LL | x = 5 help: you might have meant to compare for equality | LL | x == 5 - | ~~ + | + -error: aborting due to 6 previous errors +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:44:18 + | +LL | if x == x && x = x && x == x { + | ^ expected `bool`, found `usize` + +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:44:22 + | +LL | if x == x && x = x && x == x { + | ^ expected `bool`, found `usize` + +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:44:8 + | +LL | if x == x && x = x && x == x { + | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `()` + | +help: you might have meant to compare for equality + | +LL | if x == x && x == x && x == x { + | + + +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:51:28 + | +LL | if x == x && x == x && x = x { + | ^ expected `bool`, found `usize` + +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:51:8 + | +LL | if x == x && x == x && x = x { + | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `()` + | +help: you might have meant to compare for equality + | +LL | if x == x && x == x && x == x { + | + + +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:57:12 + | +LL | if x = 1 && x == 1 { + | ^ expected `bool`, found integer + +error[E0308]: mismatched types + --> $DIR/assignment-in-if.rs:57:8 + | +LL | if x = 1 && x == 1 { + | ^^^^^^^^^^^^^^^ expected `bool`, found `()` + | +help: you might have meant to compare for equality + | +LL | if x == 1 && x == 1 { + | + + +error: aborting due to 13 previous errors For more information about this error, try `rustc --explain E0308`. diff --git a/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr b/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr index 615fd2ccb..847bc517e 100644 --- a/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr +++ b/src/test/ui/type/type-check/issue-88577-check-fn-with-more-than-65535-arguments.stderr @@ -1,13 +1,13 @@ error: function can not have more than 65535 arguments - --> $DIR/issue-88577-check-fn-with-more-than-65535-arguments.rs:6:24 + --> $DIR/issue-88577-check-fn-with-more-than-65535-arguments.rs:6:22 | -LL | fn _f($($t: ()),*) {} - | ________________________^ -LL | | } -LL | | } -LL | | -LL | | many_args!{[_]########## ######} - | |____________^ +LL | fn _f($($t: ()),*) {} + | ^ +... +LL | many_args!{[_]########## ######} + | -------------------------------- in this macro invocation + | + = note: this error originates in the macro `many_args` (in Nightly builds, run with -Z macro-backtrace for more info) error: aborting due to previous error |