@@ -3,7 +3,7 @@ use super::accepted::ACCEPTED_FEATURES;
33use super :: removed:: { REMOVED_FEATURES , STABLE_REMOVED_FEATURES } ;
44use super :: builtin_attrs:: { AttributeGate , BUILTIN_ATTRIBUTE_MAP } ;
55
6- use crate :: ast:: { self , NodeId , PatKind , RangeEnd , VariantData } ;
6+ use crate :: ast:: { self , NodeId , GenericParam , GenericParamKind , PatKind , RangeEnd , VariantData } ;
77use crate :: attr:: { self , check_builtin_attribute} ;
88use crate :: source_map:: Spanned ;
99use crate :: edition:: { ALL_EDITIONS , Edition } ;
@@ -594,6 +594,16 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
594594 visit:: walk_fn ( self , fn_kind, fn_decl, span)
595595 }
596596
597+ fn visit_generic_param ( & mut self , param : & ' a GenericParam ) {
598+ match param. kind {
599+ GenericParamKind :: Const { .. } =>
600+ gate_feature_post ! ( & self , const_generics, param. ident. span,
601+ "const generics are unstable" ) ,
602+ _ => { }
603+ }
604+ visit:: walk_generic_param ( self , param)
605+ }
606+
597607 fn visit_trait_item ( & mut self , ti : & ' a ast:: TraitItem ) {
598608 match ti. kind {
599609 ast:: TraitItemKind :: Method ( ref sig, ref block) => {
0 commit comments