1
Fork 0

Remove all matching on ty.kind() outside cx

This commit is contained in:
Nadrieril 2023-12-11 11:11:12 +01:00
parent b111b2e839
commit 081c3dcf43
4 changed files with 31 additions and 36 deletions

View file

@ -53,12 +53,11 @@ impl<'p, 'tcx> PatternColumn<'p, 'tcx> {
}
// If the type is opaque and it is revealed anywhere in the column, we take the revealed
// version. Otherwise we could encounter constructors for the revealed type and crash.
let is_opaque = |ty: Ty<'tcx>| matches!(ty.kind(), ty::Alias(ty::Opaque, ..));
let first_ty = self.patterns[0].ty();
if is_opaque(first_ty) {
if MatchCheckCtxt::is_opaque(first_ty) {
for pat in &self.patterns {
let ty = pat.ty();
if !is_opaque(ty) {
if !MatchCheckCtxt::is_opaque(ty) {
return Some(ty);
}
}