@@ -239,6 +239,9 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
239
239
240
240
// Allows cfg(target_thread_local)
241
241
( "cfg_target_thread_local" , "1.7.0" , Some ( 29594 ) , Active ) ,
242
+
243
+ // rustc internal
244
+ ( "abi_vectorcall" , "1.7.0" , None , Active )
242
245
] ;
243
246
// (changing above list without updating src/doc/reference.md makes @cmr sad)
244
247
@@ -872,6 +875,11 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> {
872
875
Abi :: PlatformIntrinsic => {
873
876
Some ( ( "platform_intrinsics" ,
874
877
"platform intrinsics are experimental and possibly buggy" ) )
878
+ } ,
879
+ Abi :: Vectorcall => {
880
+ Some ( ( "abi_vectorcall" ,
881
+ "vectorcall is experimental and subject to change"
882
+ ) )
875
883
}
876
884
_ => None
877
885
} ;
@@ -1045,11 +1053,17 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> {
1045
1053
"intrinsics are subject to change" )
1046
1054
}
1047
1055
FnKind :: ItemFn ( _, _, _, _, abi, _) |
1048
- FnKind :: Method ( _, & ast:: MethodSig { abi, .. } , _) if abi == Abi :: RustCall => {
1049
- self . gate_feature ( "unboxed_closures" ,
1050
- span,
1051
- "rust-call ABI is subject to change" )
1052
- }
1056
+ FnKind :: Method ( _, & ast:: MethodSig { abi, .. } , _) => match abi {
1057
+ Abi :: RustCall => {
1058
+ self . gate_feature ( "unboxed_closures" , span,
1059
+ "rust-call ABI is subject to change" ) ;
1060
+ } ,
1061
+ Abi :: Vectorcall => {
1062
+ self . gate_feature ( "abi_vectorcall" , span,
1063
+ "vectorcall is experimental and subject to change" ) ;
1064
+ } ,
1065
+ _ => { }
1066
+ } ,
1053
1067
_ => { }
1054
1068
}
1055
1069
visit:: walk_fn ( self , fn_kind, fn_decl, block, span) ;
0 commit comments