@@ -15,8 +15,8 @@ use super::errors::{
1515 GenericTypeWithParentheses , UseAngleBrackets ,
1616} ;
1717use super :: {
18- GenericArgsCtor , ImplTraitContext , LifetimeRes , LoweringContext , ParamMode ,
19- ParenthesizedGenericArgs , ResolverAstLoweringExt ,
18+ GenericArgsCtor , GenericArgsMode , ImplTraitContext , LifetimeRes , LoweringContext , ParamMode ,
19+ ResolverAstLoweringExt ,
2020} ;
2121use crate :: ImplTraitPosition ;
2222
@@ -90,30 +90,30 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
9090 _ => param_mode,
9191 } ;
9292
93- let parenthesized_generic_args = match base_res {
93+ let generic_args_mode = match base_res {
9494 // `a::b::Trait(Args)`
9595 Res :: Def ( DefKind :: Trait , _) if i + 1 == proj_start => {
96- ParenthesizedGenericArgs :: ParenSugar
96+ GenericArgsMode :: ParenSugar
9797 }
9898 // `a::b::Trait(Args)::TraitItem`
9999 Res :: Def ( DefKind :: AssocFn , _)
100100 | Res :: Def ( DefKind :: AssocConst , _)
101101 | Res :: Def ( DefKind :: AssocTy , _)
102102 if i + 2 == proj_start =>
103103 {
104- ParenthesizedGenericArgs :: ParenSugar
104+ GenericArgsMode :: ParenSugar
105105 }
106106 // Avoid duplicated errors.
107- Res :: Err => ParenthesizedGenericArgs :: ParenSugar ,
107+ Res :: Err => GenericArgsMode :: ParenSugar ,
108108 // An error
109- _ => ParenthesizedGenericArgs :: Err ,
109+ _ => GenericArgsMode :: Err ,
110110 } ;
111111
112112 self . lower_path_segment (
113113 p. span ,
114114 segment,
115115 param_mode,
116- parenthesized_generic_args ,
116+ generic_args_mode ,
117117 itctx,
118118 bound_modifier_allowed_features. clone ( ) ,
119119 )
@@ -168,7 +168,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
168168 p. span ,
169169 segment,
170170 param_mode,
171- ParenthesizedGenericArgs :: Err ,
171+ GenericArgsMode :: Err ,
172172 itctx,
173173 None ,
174174 ) ) ;
@@ -210,7 +210,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
210210 p. span ,
211211 segment,
212212 param_mode,
213- ParenthesizedGenericArgs :: Err ,
213+ GenericArgsMode :: Err ,
214214 ImplTraitContext :: Disallowed ( ImplTraitPosition :: Path ) ,
215215 None ,
216216 )
@@ -224,7 +224,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
224224 path_span : Span ,
225225 segment : & PathSegment ,
226226 param_mode : ParamMode ,
227- parenthesized_generic_args : ParenthesizedGenericArgs ,
227+ generic_args_mode : GenericArgsMode ,
228228 itctx : ImplTraitContext ,
229229 // Additional features ungated with a bound modifier like `async`.
230230 // This is passed down to the implicit associated type binding in
@@ -237,14 +237,13 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
237237 GenericArgs :: AngleBracketed ( data) => {
238238 self . lower_angle_bracketed_parameter_data ( data, param_mode, itctx)
239239 }
240- GenericArgs :: Parenthesized ( data) => match parenthesized_generic_args {
241- ParenthesizedGenericArgs :: ParenSugar => self
242- . lower_parenthesized_parameter_data (
243- data,
244- itctx,
245- bound_modifier_allowed_features,
246- ) ,
247- ParenthesizedGenericArgs :: Err => {
240+ GenericArgs :: Parenthesized ( data) => match generic_args_mode {
241+ GenericArgsMode :: ParenSugar => self . lower_parenthesized_parameter_data (
242+ data,
243+ itctx,
244+ bound_modifier_allowed_features,
245+ ) ,
246+ GenericArgsMode :: Err => {
248247 // Suggest replacing parentheses with angle brackets `Trait(params...)` to `Trait<params...>`
249248 let sub = if !data. inputs . is_empty ( ) {
250249 // Start of the span to the 1st character of 1st argument
0 commit comments