@@ -15,8 +15,8 @@ use super::errors::{
15
15
GenericTypeWithParentheses , UseAngleBrackets ,
16
16
} ;
17
17
use super :: {
18
- GenericArgsCtor , ImplTraitContext , LifetimeRes , LoweringContext , ParamMode ,
19
- ParenthesizedGenericArgs , ResolverAstLoweringExt ,
18
+ GenericArgsCtor , GenericArgsMode , ImplTraitContext , LifetimeRes , LoweringContext , ParamMode ,
19
+ ResolverAstLoweringExt ,
20
20
} ;
21
21
use crate :: ImplTraitPosition ;
22
22
@@ -90,30 +90,30 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
90
90
_ => param_mode,
91
91
} ;
92
92
93
- let parenthesized_generic_args = match base_res {
93
+ let generic_args_mode = match base_res {
94
94
// `a::b::Trait(Args)`
95
95
Res :: Def ( DefKind :: Trait , _) if i + 1 == proj_start => {
96
- ParenthesizedGenericArgs :: ParenSugar
96
+ GenericArgsMode :: ParenSugar
97
97
}
98
98
// `a::b::Trait(Args)::TraitItem`
99
99
Res :: Def ( DefKind :: AssocFn , _)
100
100
| Res :: Def ( DefKind :: AssocConst , _)
101
101
| Res :: Def ( DefKind :: AssocTy , _)
102
102
if i + 2 == proj_start =>
103
103
{
104
- ParenthesizedGenericArgs :: ParenSugar
104
+ GenericArgsMode :: ParenSugar
105
105
}
106
106
// Avoid duplicated errors.
107
- Res :: Err => ParenthesizedGenericArgs :: ParenSugar ,
107
+ Res :: Err => GenericArgsMode :: ParenSugar ,
108
108
// An error
109
- _ => ParenthesizedGenericArgs :: Err ,
109
+ _ => GenericArgsMode :: Err ,
110
110
} ;
111
111
112
112
self . lower_path_segment (
113
113
p. span ,
114
114
segment,
115
115
param_mode,
116
- parenthesized_generic_args ,
116
+ generic_args_mode ,
117
117
itctx,
118
118
bound_modifier_allowed_features. clone ( ) ,
119
119
)
@@ -168,7 +168,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
168
168
p. span ,
169
169
segment,
170
170
param_mode,
171
- ParenthesizedGenericArgs :: Err ,
171
+ GenericArgsMode :: Err ,
172
172
itctx,
173
173
None ,
174
174
) ) ;
@@ -210,7 +210,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
210
210
p. span ,
211
211
segment,
212
212
param_mode,
213
- ParenthesizedGenericArgs :: Err ,
213
+ GenericArgsMode :: Err ,
214
214
ImplTraitContext :: Disallowed ( ImplTraitPosition :: Path ) ,
215
215
None ,
216
216
)
@@ -224,7 +224,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
224
224
path_span : Span ,
225
225
segment : & PathSegment ,
226
226
param_mode : ParamMode ,
227
- parenthesized_generic_args : ParenthesizedGenericArgs ,
227
+ generic_args_mode : GenericArgsMode ,
228
228
itctx : ImplTraitContext ,
229
229
// Additional features ungated with a bound modifier like `async`.
230
230
// This is passed down to the implicit associated type binding in
@@ -237,14 +237,13 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
237
237
GenericArgs :: AngleBracketed ( data) => {
238
238
self . lower_angle_bracketed_parameter_data ( data, param_mode, itctx)
239
239
}
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 => {
248
247
// Suggest replacing parentheses with angle brackets `Trait(params...)` to `Trait<params...>`
249
248
let sub = if !data. inputs . is_empty ( ) {
250
249
// Start of the span to the 1st character of 1st argument
0 commit comments