mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
Rollup merge of #129625 - compiler-errors:generic-args-mode, r=fmease
Rename `ParenthesizedGenericArgs` to `GenericArgsMode` A bit easier to digest name. Broken out of a PR implementing return type notation.
This commit is contained in:
commit
3d8d9da6a0
@ -51,7 +51,7 @@ use rustc_span::Span;
|
||||
use rustc_target::spec::abi;
|
||||
use {rustc_ast as ast, rustc_hir as hir};
|
||||
|
||||
use super::{ImplTraitContext, LoweringContext, ParamMode, ParenthesizedGenericArgs};
|
||||
use super::{GenericArgsMode, ImplTraitContext, LoweringContext, ParamMode};
|
||||
use crate::{ImplTraitPosition, ResolverAstLoweringExt};
|
||||
|
||||
pub(crate) struct DelegationResults<'hir> {
|
||||
@ -323,7 +323,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
delegation.path.span,
|
||||
ast_segment,
|
||||
ParamMode::Optional,
|
||||
ParenthesizedGenericArgs::Err,
|
||||
GenericArgsMode::Err,
|
||||
ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
);
|
||||
|
@ -20,7 +20,7 @@ use super::errors::{
|
||||
NeverPatternWithBody, NeverPatternWithGuard, UnderscoreExprLhsAssign,
|
||||
};
|
||||
use super::{
|
||||
ImplTraitContext, LoweringContext, ParamMode, ParenthesizedGenericArgs, ResolverAstLoweringExt,
|
||||
GenericArgsMode, ImplTraitContext, LoweringContext, ParamMode, ResolverAstLoweringExt,
|
||||
};
|
||||
use crate::errors::YieldInClosure;
|
||||
use crate::{fluent_generated, FnDeclKind, ImplTraitPosition};
|
||||
@ -107,7 +107,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
||||
e.span,
|
||||
seg,
|
||||
ParamMode::Optional,
|
||||
ParenthesizedGenericArgs::Err,
|
||||
GenericArgsMode::Err,
|
||||
ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
// Method calls can't have bound modifiers
|
||||
None,
|
||||
|
@ -488,7 +488,7 @@ enum ParamMode {
|
||||
Optional,
|
||||
}
|
||||
|
||||
enum ParenthesizedGenericArgs {
|
||||
enum GenericArgsMode {
|
||||
ParenSugar,
|
||||
Err,
|
||||
}
|
||||
|
@ -15,8 +15,8 @@ use super::errors::{
|
||||
GenericTypeWithParentheses, UseAngleBrackets,
|
||||
};
|
||||
use super::{
|
||||
GenericArgsCtor, ImplTraitContext, LifetimeRes, LoweringContext, ParamMode,
|
||||
ParenthesizedGenericArgs, ResolverAstLoweringExt,
|
||||
GenericArgsCtor, GenericArgsMode, ImplTraitContext, LifetimeRes, LoweringContext, ParamMode,
|
||||
ResolverAstLoweringExt,
|
||||
};
|
||||
use crate::ImplTraitPosition;
|
||||
|
||||
@ -90,10 +90,10 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
||||
_ => param_mode,
|
||||
};
|
||||
|
||||
let parenthesized_generic_args = match base_res {
|
||||
let generic_args_mode = match base_res {
|
||||
// `a::b::Trait(Args)`
|
||||
Res::Def(DefKind::Trait, _) if i + 1 == proj_start => {
|
||||
ParenthesizedGenericArgs::ParenSugar
|
||||
GenericArgsMode::ParenSugar
|
||||
}
|
||||
// `a::b::Trait(Args)::TraitItem`
|
||||
Res::Def(DefKind::AssocFn, _)
|
||||
@ -101,19 +101,19 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
||||
| Res::Def(DefKind::AssocTy, _)
|
||||
if i + 2 == proj_start =>
|
||||
{
|
||||
ParenthesizedGenericArgs::ParenSugar
|
||||
GenericArgsMode::ParenSugar
|
||||
}
|
||||
// Avoid duplicated errors.
|
||||
Res::Err => ParenthesizedGenericArgs::ParenSugar,
|
||||
Res::Err => GenericArgsMode::ParenSugar,
|
||||
// An error
|
||||
_ => ParenthesizedGenericArgs::Err,
|
||||
_ => GenericArgsMode::Err,
|
||||
};
|
||||
|
||||
self.lower_path_segment(
|
||||
p.span,
|
||||
segment,
|
||||
param_mode,
|
||||
parenthesized_generic_args,
|
||||
generic_args_mode,
|
||||
itctx,
|
||||
bound_modifier_allowed_features.clone(),
|
||||
)
|
||||
@ -168,7 +168,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
||||
p.span,
|
||||
segment,
|
||||
param_mode,
|
||||
ParenthesizedGenericArgs::Err,
|
||||
GenericArgsMode::Err,
|
||||
itctx,
|
||||
None,
|
||||
));
|
||||
@ -210,7 +210,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
||||
p.span,
|
||||
segment,
|
||||
param_mode,
|
||||
ParenthesizedGenericArgs::Err,
|
||||
GenericArgsMode::Err,
|
||||
ImplTraitContext::Disallowed(ImplTraitPosition::Path),
|
||||
None,
|
||||
)
|
||||
@ -224,7 +224,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
||||
path_span: Span,
|
||||
segment: &PathSegment,
|
||||
param_mode: ParamMode,
|
||||
parenthesized_generic_args: ParenthesizedGenericArgs,
|
||||
generic_args_mode: GenericArgsMode,
|
||||
itctx: ImplTraitContext,
|
||||
// Additional features ungated with a bound modifier like `async`.
|
||||
// This is passed down to the implicit associated type binding in
|
||||
@ -237,14 +237,13 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
||||
GenericArgs::AngleBracketed(data) => {
|
||||
self.lower_angle_bracketed_parameter_data(data, param_mode, itctx)
|
||||
}
|
||||
GenericArgs::Parenthesized(data) => match parenthesized_generic_args {
|
||||
ParenthesizedGenericArgs::ParenSugar => self
|
||||
.lower_parenthesized_parameter_data(
|
||||
data,
|
||||
itctx,
|
||||
bound_modifier_allowed_features,
|
||||
),
|
||||
ParenthesizedGenericArgs::Err => {
|
||||
GenericArgs::Parenthesized(data) => match generic_args_mode {
|
||||
GenericArgsMode::ParenSugar => self.lower_parenthesized_parameter_data(
|
||||
data,
|
||||
itctx,
|
||||
bound_modifier_allowed_features,
|
||||
),
|
||||
GenericArgsMode::Err => {
|
||||
// Suggest replacing parentheses with angle brackets `Trait(params...)` to `Trait<params...>`
|
||||
let sub = if !data.inputs.is_empty() {
|
||||
// Start of the span to the 1st character of 1st argument
|
||||
|
Loading…
Reference in New Issue
Block a user