granite-rust/compiler/rustc_typeck
Dylan DPC a0d2862ca4
Rollup merge of #95386 - compiler-errors:try-wrapping, r=oli-obk
Suggest wrapping patterns in enum variants

Structured suggestion to wrap a pattern in a single-field enum or struct:

```diff
 struct A;

 enum B {
   A(A),
 }

 fn main(b: B) {
   match b {
-    A => {}
+    B::A(A) => {}
   }
 }
```

Half of #94942, the other half I'm not exactly sure how to fix.

Also includes two drive-by changes (that I am open to splitting out into another PR, but thought they could be rolled up into this one):
- 07776c111f: Makes sure not to suggest wrapping if it doesn't have tuple field constructor (i.e. has named fields)
- 8f2bbb18fd53e5008bb488302dbd354577698ede: Also suggest wrapping expressions in a tuple struct (not just enum variants)
2022-03-29 22:46:34 +02:00
..
src Rollup merge of #95386 - compiler-errors:try-wrapping, r=oli-obk 2022-03-29 22:46:34 +02:00
Cargo.toml Fix control flow handling in generator_interior 2022-01-18 14:25:26 -08:00
README.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00

For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.