1error[E0308]: mismatched types
2  --> $DIR/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs:19:9
3   |
4LL |     let P() = U {};
5   |         ^^^   ---- this expression has type `U`
6   |         |
7   |         expected struct `U`, found struct `P`
8   |
9   = note: expected struct `U`
10              found struct `P<_>`
11
12error[E0023]: this pattern has 0 fields, but the corresponding tuple struct has 1 field
13  --> $DIR/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs:19:9
14   |
15LL | struct P<T>(T); // 1 type parameter wanted
16   |             - tuple struct has 1 field
17...
18LL |     let P() = U {};
19   |         ^^^ expected 1 field, found 0
20   |
21help: use `_` to explicitly ignore each field
22   |
23LL |     let P(_) = U {};
24   |           +
25help: use `..` to ignore all fields
26   |
27LL |     let P(..) = U {};
28   |           ++
29
30error: aborting due to 2 previous errors
31
32Some errors have detailed explanations: E0023, E0308.
33For more information about an error, try `rustc --explain E0023`.
34