diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2023-04-25 07:42:09 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2023-05-12 10:25:06 +0000 |
| commit | 84a43f0e3aa9b76bc9cef952d25b41ed1e5e0a94 (patch) | |
| tree | be787ce369b20f2900be15cb773e62f1021e10f8 | |
| parent | 31ae7c46bddd917886f88bd3ba38f39cd9b51cd0 (diff) | |
| download | rust-84a43f0e3aa9b76bc9cef952d25b41ed1e5e0a94.tar.gz rust-84a43f0e3aa9b76bc9cef952d25b41ed1e5e0a94.zip | |
Rewrite nested `if` conditions into a single match
| -rw-r--r-- | compiler/rustc_middle/src/ty/util.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/compiler/rustc_middle/src/ty/util.rs b/compiler/rustc_middle/src/ty/util.rs index c2affa24446..97e1f69057e 100644 --- a/compiler/rustc_middle/src/ty/util.rs +++ b/compiler/rustc_middle/src/ty/util.rs @@ -473,16 +473,17 @@ impl<'tcx> TyCtxt<'tcx> { let mut seen = GrowableBitSet::default(); for arg in substs { match arg.unpack() { - GenericArgKind::Lifetime(lt) => { - if ignore_regions == CheckRegions::OnlyEarlyBound { - let ty::ReEarlyBound(p) = lt.kind() else { - return Err(NotUniqueParam::NotParam(lt.into())) - }; + GenericArgKind::Lifetime(lt) => match (ignore_regions, lt.kind()) { + (CheckRegions::OnlyEarlyBound, ty::ReEarlyBound(p)) => { if !seen.insert(p.index) { return Err(NotUniqueParam::DuplicateParam(lt.into())); } } - } + (CheckRegions::OnlyEarlyBound, _) => { + return Err(NotUniqueParam::NotParam(lt.into())); + } + (CheckRegions::No, _) => {} + }, GenericArgKind::Type(t) => match t.kind() { ty::Param(p) => { if !seen.insert(p.index) { |
