summaryrefslogtreecommitdiffstats
path: root/src/test/ui/did_you_mean/compatible-variants-in-pat.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/did_you_mean/compatible-variants-in-pat.stderr')
-rw-r--r--src/test/ui/did_you_mean/compatible-variants-in-pat.stderr68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/test/ui/did_you_mean/compatible-variants-in-pat.stderr b/src/test/ui/did_you_mean/compatible-variants-in-pat.stderr
new file mode 100644
index 000000000..473468af6
--- /dev/null
+++ b/src/test/ui/did_you_mean/compatible-variants-in-pat.stderr
@@ -0,0 +1,68 @@
+error[E0308]: mismatched types
+ --> $DIR/compatible-variants-in-pat.rs:10:9
+ |
+LL | match f {
+ | - this expression has type `Foo`
+LL | Bar { x } => {
+ | ^^^^^^^^^ expected enum `Foo`, found struct `Bar`
+ |
+help: try wrapping the pattern in `Foo::Bar`
+ |
+LL | Foo::Bar(Bar { x }) => {
+ | +++++++++ +
+
+error[E0308]: mismatched types
+ --> $DIR/compatible-variants-in-pat.rs:21:9
+ |
+LL | struct S;
+ | -------- unit struct defined here
+...
+LL | match s {
+ | - this expression has type `Option<S>`
+LL | S => {
+ | ^
+ | |
+ | expected enum `Option`, found struct `S`
+ | `S` is interpreted as a unit struct, not a new binding
+ |
+ = note: expected enum `Option<S>`
+ found struct `S`
+help: try wrapping the pattern in `Some`
+ |
+LL | Some(S) => {
+ | +++++ +
+help: introduce a new binding instead
+ |
+LL | other_s => {
+ | ~~~~~~~
+
+error[E0308]: mismatched types
+ --> $DIR/compatible-variants-in-pat.rs:32:9
+ |
+LL | struct S;
+ | -------- unit struct defined here
+...
+LL | match s {
+ | - this expression has type `Result<S, S>`
+LL | S => {
+ | ^
+ | |
+ | expected enum `Result`, found struct `S`
+ | `S` is interpreted as a unit struct, not a new binding
+ |
+ = note: expected enum `Result<S, S>`
+ found struct `S`
+help: try wrapping the pattern in a variant of `Result`
+ |
+LL | Ok(S) => {
+ | +++ +
+LL | Err(S) => {
+ | ++++ +
+help: introduce a new binding instead
+ |
+LL | other_s => {
+ | ~~~~~~~
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0308`.