diff options
| author | bors <bors@rust-lang.org> | 2023-11-29 11:42:03 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-11-29 11:42:03 +0000 |
| commit | ce4727f723144aea42d66c09a0a7e75f8c51b8fd (patch) | |
| tree | dea63ac4b1c641a0b2da8eb142fe4fb31877b441 /compiler/rustc_hir/src/hir.rs | |
| parent | ec1f21cb0483c40329b54c10b19c0e6220f5e51d (diff) | |
| parent | 6094cb5d3635b17b51e0f1cfe83e5532eada064e (diff) | |
| download | rust-ce4727f723144aea42d66c09a0a7e75f8c51b8fd.tar.gz rust-ce4727f723144aea42d66c09a0a7e75f8c51b8fd.zip | |
Auto merge of #118443 - matthiaskrgr:rollup-mp8o3m4, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #118157 (Add `never_patterns` feature gate) - #118191 (Suggest `let` or `==` on typo'd let-chain) - #118231 (also add is_empty to const raw slices) - #118333 (Print list of missing target features when calling a function with target features outside an unsafe block) - #118426 (ConstProp: Correctly remove const if unknown value assigned to it.) - #118428 (rustdoc: Move `AssocItemRender` and `RenderMode` to `html::render`.) - #118438 (Update nto-qnx.md) Failed merges: - #118268 (Pretty print `Fn<(..., ...)>` trait refs with parentheses (almost) always) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_hir/src/hir.rs')
| -rw-r--r-- | compiler/rustc_hir/src/hir.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/rustc_hir/src/hir.rs b/compiler/rustc_hir/src/hir.rs index bd6eba37547..81733d8f64e 100644 --- a/compiler/rustc_hir/src/hir.rs +++ b/compiler/rustc_hir/src/hir.rs @@ -1002,7 +1002,7 @@ impl<'hir> Pat<'hir> { use PatKind::*; match self.kind { - Wild | Lit(_) | Range(..) | Binding(.., None) | Path(_) => true, + Wild | Never | Lit(_) | Range(..) | Binding(.., None) | Path(_) => true, Box(s) | Ref(s, _) | Binding(.., Some(s)) => s.walk_short_(it), Struct(_, fields, _) => fields.iter().all(|field| field.pat.walk_short_(it)), TupleStruct(_, s, _) | Tuple(s, _) | Or(s) => s.iter().all(|p| p.walk_short_(it)), @@ -1029,7 +1029,7 @@ impl<'hir> Pat<'hir> { use PatKind::*; match self.kind { - Wild | Lit(_) | Range(..) | Binding(.., None) | Path(_) => {} + Wild | Never | Lit(_) | Range(..) | Binding(.., None) | Path(_) => {} Box(s) | Ref(s, _) | Binding(.., Some(s)) => s.walk_(it), Struct(_, fields, _) => fields.iter().for_each(|field| field.pat.walk_(it)), TupleStruct(_, s, _) | Tuple(s, _) | Or(s) => s.iter().for_each(|p| p.walk_(it)), @@ -1142,6 +1142,9 @@ pub enum PatKind<'hir> { /// Invariant: `pats.len() >= 2`. Or(&'hir [Pat<'hir>]), + /// A never pattern `!`. + Never, + /// A path pattern for a unit struct/variant or a (maybe-associated) constant. Path(QPath<'hir>), |
