@@ -44,8 +44,7 @@ use crate::hir::def::{Namespace, Res, DefKind, PartialRes, PerNS};
4444use crate :: hir:: { GenericArg , ConstArg } ;
4545use crate :: hir:: ptr:: P ;
4646use crate :: lint;
47- use crate :: lint:: builtin:: { self , PARENTHESIZED_PARAMS_IN_TYPES_AND_MODULES ,
48- ELIDED_LIFETIMES_IN_PATHS } ;
47+ use crate :: lint:: builtin:: { self , ELIDED_LIFETIMES_IN_PATHS } ;
4948use crate :: middle:: cstore:: CrateStore ;
5049use crate :: session:: Session ;
5150use crate :: session:: config:: nightly_options;
@@ -298,7 +297,6 @@ enum ParamMode {
298297
299298enum ParenthesizedGenericArgs {
300299 Ok ,
301- Warn ,
302300 Err ,
303301}
304302
@@ -1695,29 +1693,19 @@ impl<'a> LoweringContext<'a> {
16951693 } ;
16961694 let parenthesized_generic_args = match partial_res. base_res ( ) {
16971695 // `a::b::Trait(Args)`
1698- Res :: Def ( DefKind :: Trait , _)
1699- if i + 1 == proj_start => ParenthesizedGenericArgs :: Ok ,
1696+ Res :: Def ( DefKind :: Trait , _) if i + 1 == proj_start => {
1697+ ParenthesizedGenericArgs :: Ok
1698+ }
17001699 // `a::b::Trait(Args)::TraitItem`
1701- Res :: Def ( DefKind :: Method , _)
1702- | Res :: Def ( DefKind :: AssocConst , _)
1703- | Res :: Def ( DefKind :: AssocTy , _)
1704- if i + 2 == proj_start =>
1705- {
1700+ Res :: Def ( DefKind :: Method , _) |
1701+ Res :: Def ( DefKind :: AssocConst , _) |
1702+ Res :: Def ( DefKind :: AssocTy , _) if i + 2 == proj_start => {
17061703 ParenthesizedGenericArgs :: Ok
17071704 }
17081705 // Avoid duplicated errors.
17091706 Res :: Err => ParenthesizedGenericArgs :: Ok ,
17101707 // An error
1711- Res :: Def ( DefKind :: Struct , _)
1712- | Res :: Def ( DefKind :: Enum , _)
1713- | Res :: Def ( DefKind :: Union , _)
1714- | Res :: Def ( DefKind :: TyAlias , _)
1715- | Res :: Def ( DefKind :: Variant , _) if i + 1 == proj_start =>
1716- {
1717- ParenthesizedGenericArgs :: Err
1718- }
1719- // A warning for now, for compatibility reasons.
1720- _ => ParenthesizedGenericArgs :: Warn ,
1708+ _ => ParenthesizedGenericArgs :: Err ,
17211709 } ;
17221710
17231711 let num_lifetimes = type_def_id. map_or ( 0 , |def_id| {
@@ -1780,7 +1768,7 @@ impl<'a> LoweringContext<'a> {
17801768 segment,
17811769 param_mode,
17821770 0 ,
1783- ParenthesizedGenericArgs :: Warn ,
1771+ ParenthesizedGenericArgs :: Err ,
17841772 itctx. reborrow ( ) ,
17851773 None ,
17861774 ) ) ;
@@ -1856,15 +1844,6 @@ impl<'a> LoweringContext<'a> {
18561844 }
18571845 GenericArgs :: Parenthesized ( ref data) => match parenthesized_generic_args {
18581846 ParenthesizedGenericArgs :: Ok => self . lower_parenthesized_parameter_data ( data) ,
1859- ParenthesizedGenericArgs :: Warn => {
1860- self . resolver . lint_buffer ( ) . buffer_lint (
1861- PARENTHESIZED_PARAMS_IN_TYPES_AND_MODULES ,
1862- CRATE_NODE_ID ,
1863- data. span ,
1864- msg. into ( ) ,
1865- ) ;
1866- ( hir:: GenericArgs :: none ( ) , true )
1867- }
18681847 ParenthesizedGenericArgs :: Err => {
18691848 let mut err = struct_span_err ! ( self . sess, data. span, E0214 , "{}" , msg) ;
18701849 err. span_label ( data. span , "only `Fn` traits may use parentheses" ) ;
0 commit comments