diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/did_you_mean/compatible-variants.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/did_you_mean/compatible-variants.stderr | 10 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/test/ui/did_you_mean/compatible-variants.rs b/src/test/ui/did_you_mean/compatible-variants.rs index b078064b267..d9457cf5e32 100644 --- a/src/test/ui/did_you_mean/compatible-variants.rs +++ b/src/test/ui/did_you_mean/compatible-variants.rs @@ -64,3 +64,18 @@ fn main() { //~^ ERROR mismatched types //~| HELP try wrapping } + +enum A { + B { b: B}, +} + +enum B { + Fst, + Snd, +} + +fn foo() { + // We don't want to suggest `A::B(B::Fst)` here. + let a: A = B::Fst; + //~^ ERROR mismatched types +} \ No newline at end of file diff --git a/src/test/ui/did_you_mean/compatible-variants.stderr b/src/test/ui/did_you_mean/compatible-variants.stderr index 51c1bf97c4e..6224af3976b 100644 --- a/src/test/ui/did_you_mean/compatible-variants.stderr +++ b/src/test/ui/did_you_mean/compatible-variants.stderr @@ -190,6 +190,14 @@ help: try wrapping the expression in `Some` LL | let _ = Foo { bar: Some(bar) }; | ++++++++++ + -error: aborting due to 11 previous errors +error[E0308]: mismatched types + --> $DIR/compatible-variants.rs:79:16 + | +LL | let a: A = B::Fst; + | - ^^^^^^ expected enum `A`, found enum `B` + | | + | expected due to this + +error: aborting due to 12 previous errors For more information about this error, try `rustc --explain E0308`. |
