diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-03-05 12:16:22 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2024-03-18 18:12:45 +0000 |
| commit | 69c4e813fe1887883a55ff59c30443ee8299399b (patch) | |
| tree | 6150b8d9721532320dc3e4098bf882ef3a328dc3 /compiler/rustc_hir_analysis/src/collect/generics_of.rs | |
| parent | 419d205dad87c4a198eb051bd54ec066b9193a5b (diff) | |
| download | rust-69c4e813fe1887883a55ff59c30443ee8299399b.tar.gz rust-69c4e813fe1887883a55ff59c30443ee8299399b.zip | |
Use `hir::Node` helper methods instead of repeat the same impl multiple times
There already were inconsistencies, so this ensures we don't introduce subtle surprising bugs
Diffstat (limited to 'compiler/rustc_hir_analysis/src/collect/generics_of.rs')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/collect/generics_of.rs | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/compiler/rustc_hir_analysis/src/collect/generics_of.rs b/compiler/rustc_hir_analysis/src/collect/generics_of.rs index c86788db988..bc6abc53cad 100644 --- a/compiler/rustc_hir_analysis/src/collect/generics_of.rs +++ b/compiler/rustc_hir_analysis/src/collect/generics_of.rs @@ -508,29 +508,9 @@ fn has_late_bound_regions<'tcx>(tcx: TyCtxt<'tcx>, node: Node<'tcx>) -> Option<S visitor.has_late_bound_regions } - match node { - Node::TraitItem(item) => match &item.kind { - hir::TraitItemKind::Fn(sig, _) => has_late_bound_regions(tcx, item.generics, sig.decl), - _ => None, - }, - Node::ImplItem(item) => match &item.kind { - hir::ImplItemKind::Fn(sig, _) => has_late_bound_regions(tcx, item.generics, sig.decl), - _ => None, - }, - Node::ForeignItem(item) => match item.kind { - hir::ForeignItemKind::Fn(fn_decl, _, generics) => { - has_late_bound_regions(tcx, generics, fn_decl) - } - _ => None, - }, - Node::Item(item) => match &item.kind { - hir::ItemKind::Fn(sig, .., generics, _) => { - has_late_bound_regions(tcx, generics, sig.decl) - } - _ => None, - }, - _ => None, - } + let decl = node.fn_decl()?; + let generics = node.generics()?; + has_late_bound_regions(tcx, generics, decl) } struct AnonConstInParamTyDetector { |
