rust/compiler/rustc_ast/src
Matthias Krüger 86db97e2b3
Rollup merge of #134284 - estebank:issue-74863, r=lcnr
Keep track of patterns that could have introduced a binding, but didn't

When we recover from a pattern parse error, or a pattern uses `..`, we keep track of that and affect resolution error for missing bindings that could have been provided by that pattern. We differentiate between `..` and parse recovery. We silence resolution errors likely caused by the pattern parse error.

```
error[E0425]: cannot find value `title` in this scope
  --> $DIR/struct-pattern-with-missing-fields-resolve-error.rs:18:30
   |
LL |     if let Website { url, .. } = website {
   |            ------------------- this pattern doesn't include `title`, which is available in `Website`
LL |         println!("[{}]({})", title, url);
   |                              ^^^^^ not found in this scope
```

Fix #74863.
2024-12-16 20:00:22 +01:00
..
attr Add hir::Attribute 2024-12-15 19:18:46 +01:00
expand Single commit implementing the enzyme/autodiff frontend 2024-10-11 19:13:31 +02:00
util Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 2024-12-12 16:29:40 +00:00
ast.rs Rollup merge of #134284 - estebank:issue-74863, r=lcnr 2024-12-16 20:00:22 +01:00
ast_traits.rs Remove needless returns detected by clippy in the compiler 2024-09-09 13:32:22 +02:00
entry.rs Add hir::Attribute 2024-12-15 19:18:46 +01:00
format.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
lib.rs Add hir::Attribute 2024-12-15 19:18:46 +01:00
mut_visit.rs Add hir::Attribute 2024-12-15 19:18:46 +01:00
node_id.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
ptr.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
token.rs Prepare for invisible delimiters. 2024-11-21 08:22:11 +11:00
tokenstream.rs Introduce InvisibleOrigin on invisible delimiters. 2024-11-21 08:16:54 +11:00
visit.rs Add hir::Attribute 2024-12-15 19:18:46 +01:00