diff options
| author | Michael Goulet <michael@errs.io> | 2023-04-19 16:47:06 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-04-19 16:47:11 +0000 |
| commit | b0a7d6e4b7627be023625e62c529f659de56f8fe (patch) | |
| tree | 0e515a54cc19dd6a596525c54e8496086582cdb4 /tests/ui | |
| parent | de96f3d8735b70d5dc1ca178aaee198b329b8f3d (diff) | |
| download | rust-b0a7d6e4b7627be023625e62c529f659de56f8fe.tar.gz rust-b0a7d6e4b7627be023625e62c529f659de56f8fe.zip | |
Suggest deref on comparison binop RHS even if type is not Copy
Diffstat (limited to 'tests/ui')
| -rw-r--r-- | tests/ui/inference/deref-suggestion.rs | 9 | ||||
| -rw-r--r-- | tests/ui/inference/deref-suggestion.stderr | 15 |
2 files changed, 23 insertions, 1 deletions
diff --git a/tests/ui/inference/deref-suggestion.rs b/tests/ui/inference/deref-suggestion.rs index 0d8e7289dc8..dc39cc9dbff 100644 --- a/tests/ui/inference/deref-suggestion.rs +++ b/tests/ui/inference/deref-suggestion.rs @@ -72,4 +72,13 @@ fn main() { } else { &0 }; + + #[derive(PartialEq, Eq)] + struct Foo; + let foo = Foo; + let bar = &Foo; + + if foo == bar { + //~^ ERROR mismatched types + } } diff --git a/tests/ui/inference/deref-suggestion.stderr b/tests/ui/inference/deref-suggestion.stderr index 1626032ae99..6f5aacacfc1 100644 --- a/tests/ui/inference/deref-suggestion.stderr +++ b/tests/ui/inference/deref-suggestion.stderr @@ -175,6 +175,19 @@ LL | || }; | |_____`if` and `else` have incompatible types | expected `i32`, found `&{integer}` -error: aborting due to 13 previous errors +error[E0308]: mismatched types + --> $DIR/deref-suggestion.rs:81:15 + | +LL | if foo == bar { + | --- ^^^ expected `Foo`, found `&Foo` + | | + | expected because this is `Foo` + | +help: consider dereferencing the borrow + | +LL | if foo == *bar { + | + + +error: aborting due to 14 previous errors For more information about this error, try `rustc --explain E0308`. |
