diff options
| author | yukang <moorekang@gmail.com> | 2022-12-24 02:41:06 +0800 |
|---|---|---|
| committer | yukang <moorekang@gmail.com> | 2023-01-14 17:11:04 +0800 |
| commit | 7d99866bfc43f34dbdd84f4bf982c48a51b70a99 (patch) | |
| tree | c01620bc933dd4f3fc811e87738cdcee2e32e9f1 /compiler | |
| parent | 44a500c8c187b245638684748f54bd6ec67e0b25 (diff) | |
| download | rust-7d99866bfc43f34dbdd84f4bf982c48a51b70a99.tar.gz rust-7d99866bfc43f34dbdd84f4bf982c48a51b70a99.zip | |
fix #105061, Fix unused_parens issue for higher ranked function pointers
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_lint/src/early.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_lint/src/unused.rs | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_lint/src/early.rs b/compiler/rustc_lint/src/early.rs index f9b2df49592..3901751c79f 100644 --- a/compiler/rustc_lint/src/early.rs +++ b/compiler/rustc_lint/src/early.rs @@ -248,6 +248,12 @@ impl<'a, T: EarlyLintPass> ast_visit::Visitor<'a> for EarlyContextAndPass<'a, T> } fn visit_where_predicate(&mut self, p: &'a ast::WherePredicate) { + use rustc_ast::{WhereBoundPredicate, WherePredicate}; + if let WherePredicate::BoundPredicate(WhereBoundPredicate { bounded_ty, .. }) = p && + let ast::TyKind::BareFn(b) = &bounded_ty.kind && + b.generic_params.len() > 0 { + return; + } ast_visit::walk_where_predicate(self, p); } diff --git a/compiler/rustc_lint/src/unused.rs b/compiler/rustc_lint/src/unused.rs index ac2b32b44e6..94a33138107 100644 --- a/compiler/rustc_lint/src/unused.rs +++ b/compiler/rustc_lint/src/unused.rs @@ -1002,7 +1002,6 @@ impl EarlyLintPass for UnusedParens { if let ast::TyKind::Paren(r) = &ty.kind { match &r.kind { ast::TyKind::TraitObject(..) => {} - ast::TyKind::BareFn(b) if b.generic_params.len() > 0 => {} ast::TyKind::ImplTrait(_, bounds) if bounds.len() > 1 => {} ast::TyKind::Array(_, len) => { self.check_unused_delims_expr( |
