Don't suggest an arm when suggesting a never pattern

This commit is contained in:
Nadrieril 2024-02-28 22:26:20 +01:00
parent 9f2aa5b85a
commit b878ab6a27
4 changed files with 36 additions and 20 deletions

View file

@ -321,6 +321,14 @@ impl<Cx: TypeCx> WitnessPat<Cx> {
&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<Item = &WitnessPat<Cx>> {
self.fields.iter()
}