@@ -216,10 +216,10 @@ macro_rules! template {
216
216
( List : $descr: expr) => { $crate:: template!( @ false , Some ( $descr) , & [ ] , None , None ) } ;
217
217
( List : $descr: expr, $link: literal) => { $crate:: template!( @ false , Some ( $descr) , & [ ] , None , Some ( $link) ) } ;
218
218
( OneOf : $one_of: expr) => { $crate:: template!( @ false , None , $one_of, None , None ) } ;
219
- ( NameValueStr : $ descr: expr ) => { $crate:: template!( @ false , None , & [ ] , Some ( & [ $descr] ) , None ) } ;
220
- ( NameValueStr : $ descr: expr , $ link: literal) => { $crate:: template!( @ false , None , & [ ] , Some ( & [ $descr] ) , Some ( $link) ) } ;
221
- ( OneOfNameValueStr : $descr: expr ) => { $crate:: template!( @ false , None , & [ ] , Some ( $descr) , None ) } ;
222
- ( OneOfNameValueStr : $descr: expr , $link: literal) => { $crate:: template!( @ false , None , & [ ] , Some ( $descr) , Some ( $link) ) } ;
219
+ ( NameValueStr : [ $ ( $ descr: literal ) , * $ ( , ) ? ] ) => { $crate:: template!( @ false , None , & [ ] , Some ( & [ $( $ descr, ) * ] ) , None ) } ;
220
+ ( NameValueStr : [ $ ( $ descr: literal ) , * $ ( , ) ? ] , $ link: literal) => { $crate:: template!( @ false , None , & [ ] , Some ( & [ $( $ descr, ) * ] ) , Some ( $link) ) } ;
221
+ ( NameValueStr : $descr: literal ) => { $crate:: template!( @ false , None , & [ ] , Some ( & [ $descr] ) , None ) } ;
222
+ ( NameValueStr : $descr: literal , $link: literal) => { $crate:: template!( @ false , None , & [ ] , Some ( & [ $descr] ) , Some ( $link) ) } ;
223
223
( Word , List : $descr: expr) => { $crate:: template!( @ true , Some ( $descr) , & [ ] , None , None ) } ;
224
224
( Word , List : $descr: expr, $link: literal) => { $crate:: template!( @ true , Some ( $descr) , & [ ] , None , Some ( $link) ) } ;
225
225
( Word , NameValueStr : $descr: expr) => { $crate:: template!( @ true , None , & [ ] , Some ( & [ $descr] ) , None ) } ;
@@ -579,7 +579,7 @@ pub static BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
579
579
ungated ! (
580
580
crate_type, CrateLevel ,
581
581
template!(
582
- OneOfNameValueStr : & [ "bin" , "lib" , "dylib" , "cdylib" , "rlib" , "staticlib" , "sdylib" , "proc-macro" ] ,
582
+ NameValueStr : [ "bin" , "lib" , "dylib" , "cdylib" , "rlib" , "staticlib" , "sdylib" , "proc-macro" ] ,
583
583
"https://doc.rust-lang.org/reference/linkage.html"
584
584
) ,
585
585
DuplicatesOk , EncodeCrossCrate :: No ,
@@ -696,7 +696,7 @@ pub static BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
696
696
// Runtime
697
697
ungated ! (
698
698
windows_subsystem, CrateLevel ,
699
- template!( OneOfNameValueStr : & [ "windows" , "console" ] , "https://doc.rust-lang.org/reference/runtime.html#the-windows_subsystem-attribute" ) ,
699
+ template!( NameValueStr : [ "windows" , "console" ] , "https://doc.rust-lang.org/reference/runtime.html#the-windows_subsystem-attribute" ) ,
700
700
FutureWarnFollowing , EncodeCrossCrate :: No
701
701
) ,
702
702
ungated ! ( // RFC 2070
@@ -1027,7 +1027,7 @@ pub static BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
1027
1027
// ==========================================================================
1028
1028
1029
1029
gated ! (
1030
- linkage, Normal , template!( OneOfNameValueStr : & [
1030
+ linkage, Normal , template!( NameValueStr : [
1031
1031
"available_externally" ,
1032
1032
"common" ,
1033
1033
"extern_weak" ,
@@ -1061,7 +1061,7 @@ pub static BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
1061
1061
) ,
1062
1062
rustc_attr ! (
1063
1063
rustc_macro_transparency, Normal ,
1064
- template!( OneOfNameValueStr : & [ "transparent" , "semiopaque" , "opaque" ] ) , ErrorFollowing ,
1064
+ template!( NameValueStr : [ "transparent" , "semiopaque" , "opaque" ] ) , ErrorFollowing ,
1065
1065
EncodeCrossCrate :: Yes , "used internally for testing macro hygiene" ,
1066
1066
) ,
1067
1067
rustc_attr ! (
0 commit comments