Rollup merge of #142237 - benschulz:unused-parens-fn, r=fee1-dead
Detect more cases of unused_parens around types With this change, more unused parentheses around bounds and types nested within bounds are detected.
This commit is contained in:
@@ -1390,6 +1390,7 @@ impl Expr {
|
||||
path.clone(),
|
||||
TraitBoundModifiers::NONE,
|
||||
self.span,
|
||||
Parens::No,
|
||||
))),
|
||||
_ => None,
|
||||
}
|
||||
@@ -3366,6 +3367,13 @@ pub struct TraitRef {
|
||||
pub ref_id: NodeId,
|
||||
}
|
||||
|
||||
/// Whether enclosing parentheses are present or not.
|
||||
#[derive(Clone, Encodable, Decodable, Debug)]
|
||||
pub enum Parens {
|
||||
Yes,
|
||||
No,
|
||||
}
|
||||
|
||||
#[derive(Clone, Encodable, Decodable, Debug)]
|
||||
pub struct PolyTraitRef {
|
||||
/// The `'a` in `for<'a> Foo<&'a T>`.
|
||||
@@ -3378,6 +3386,10 @@ pub struct PolyTraitRef {
|
||||
pub trait_ref: TraitRef,
|
||||
|
||||
pub span: Span,
|
||||
|
||||
/// When `Yes`, the first and last character of `span` are an opening
|
||||
/// and a closing paren respectively.
|
||||
pub parens: Parens,
|
||||
}
|
||||
|
||||
impl PolyTraitRef {
|
||||
@@ -3386,12 +3398,14 @@ impl PolyTraitRef {
|
||||
path: Path,
|
||||
modifiers: TraitBoundModifiers,
|
||||
span: Span,
|
||||
parens: Parens,
|
||||
) -> Self {
|
||||
PolyTraitRef {
|
||||
bound_generic_params: generic_params,
|
||||
modifiers,
|
||||
trait_ref: TraitRef { path, ref_id: DUMMY_NODE_ID },
|
||||
span,
|
||||
parens,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1142,7 +1142,7 @@ macro_rules! common_visitor_and_walkers {
|
||||
vis: &mut V,
|
||||
p: &$($lt)? $($mut)? PolyTraitRef,
|
||||
) -> V::Result {
|
||||
let PolyTraitRef { bound_generic_params, modifiers, trait_ref, span } = p;
|
||||
let PolyTraitRef { bound_generic_params, modifiers, trait_ref, span, parens: _ } = p;
|
||||
try_visit!(visit_modifiers(vis, modifiers));
|
||||
try_visit!(visit_generic_params(vis, bound_generic_params));
|
||||
try_visit!(vis.visit_trait_ref(trait_ref));
|
||||
|
||||
Reference in New Issue
Block a user