From b878ab6a270928fa45850183b82b13eac1e80c39 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 28 Feb 2024 22:26:20 +0100 Subject: Don't suggest an arm when suggesting a never pattern --- compiler/rustc_pattern_analysis/src/pat.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'compiler/rustc_pattern_analysis/src') diff --git a/compiler/rustc_pattern_analysis/src/pat.rs b/compiler/rustc_pattern_analysis/src/pat.rs index 780a386fe65..33d2fe89f43 100644 --- a/compiler/rustc_pattern_analysis/src/pat.rs +++ b/compiler/rustc_pattern_analysis/src/pat.rs @@ -321,6 +321,14 @@ impl WitnessPat { &self.ty } + pub fn is_never_pattern(&self) -> bool { + match self.ctor() { + Never => true, + Or => self.fields.iter().all(|p| p.is_never_pattern()), + _ => self.fields.iter().any(|p| p.is_never_pattern()), + } + } + pub fn iter_fields(&self) -> impl Iterator> { self.fields.iter() } -- cgit 1.4.1-3-g733a5