@@ -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