@@ -26,9 +26,11 @@ macro_rules! __declare_public_bitflags {
2626#[ doc( hidden) ]
2727macro_rules! __impl_public_bitflags_forward {
2828 (
29+ $( #[ $outer: meta] ) *
2930 $PublicBitFlags: ident: $T: ty, $InternalBitFlags: ident
3031 ) => {
3132 $crate:: __impl_bitflags! {
33+ $( #[ $outer] ) *
3234 $PublicBitFlags: $T {
3335 fn empty( ) {
3436 Self ( $InternalBitFlags:: empty( ) )
@@ -128,6 +130,7 @@ macro_rules! __impl_public_bitflags_forward {
128130#[ doc( hidden) ]
129131macro_rules! __impl_public_bitflags {
130132 (
133+ $( #[ $outer: meta] ) *
131134 $BitFlags: ident: $T: ty, $PublicBitFlags: ident {
132135 $(
133136 $( #[ $inner: ident $( $args: tt) * ] ) *
@@ -136,6 +139,7 @@ macro_rules! __impl_public_bitflags {
136139 }
137140 ) => {
138141 $crate:: __impl_bitflags! {
142+ $( #[ $outer] ) *
139143 $BitFlags: $T {
140144 fn empty( ) {
141145 Self ( <$T as $crate:: Bits >:: EMPTY )
@@ -271,7 +275,11 @@ macro_rules! __impl_public_bitflags {
271275#[ macro_export]
272276#[ doc( hidden) ]
273277macro_rules! __impl_public_bitflags_iter {
274- ( $BitFlags: ident: $T: ty, $PublicBitFlags: ident) => {
278+ (
279+ $( #[ $outer: meta] ) *
280+ $BitFlags: ident: $T: ty, $PublicBitFlags: ident
281+ ) => {
282+ $( #[ $outer] ) *
275283 impl $BitFlags {
276284 /// Yield a set of contained flags values.
277285 ///
@@ -300,6 +308,7 @@ macro_rules! __impl_public_bitflags_iter {
300308 }
301309 }
302310
311+ $( #[ $outer: meta] ) *
303312 impl $crate:: __private:: core:: iter:: IntoIterator for $BitFlags {
304313 type Item = $PublicBitFlags;
305314 type IntoIter = $crate:: iter:: Iter <$PublicBitFlags>;
@@ -315,7 +324,12 @@ macro_rules! __impl_public_bitflags_iter {
315324#[ macro_export]
316325#[ doc( hidden) ]
317326macro_rules! __impl_public_bitflags_ops {
318- ( $PublicBitFlags: ident) => {
327+ (
328+ $( #[ $outer: meta] ) *
329+ $PublicBitFlags: ident
330+ ) => {
331+
332+ $( #[ $outer] ) *
319333 impl $crate:: __private:: core:: fmt:: Binary for $PublicBitFlags {
320334 fn fmt(
321335 & self ,
@@ -326,6 +340,7 @@ macro_rules! __impl_public_bitflags_ops {
326340 }
327341 }
328342
343+ $( #[ $outer] ) *
329344 impl $crate:: __private:: core:: fmt:: Octal for $PublicBitFlags {
330345 fn fmt(
331346 & self ,
@@ -336,6 +351,7 @@ macro_rules! __impl_public_bitflags_ops {
336351 }
337352 }
338353
354+ $( #[ $outer] ) *
339355 impl $crate:: __private:: core:: fmt:: LowerHex for $PublicBitFlags {
340356 fn fmt(
341357 & self ,
@@ -346,6 +362,7 @@ macro_rules! __impl_public_bitflags_ops {
346362 }
347363 }
348364
365+ $( #[ $outer] ) *
349366 impl $crate:: __private:: core:: fmt:: UpperHex for $PublicBitFlags {
350367 fn fmt(
351368 & self ,
@@ -356,6 +373,7 @@ macro_rules! __impl_public_bitflags_ops {
356373 }
357374 }
358375
376+ $( #[ $outer] ) *
359377 impl $crate:: __private:: core:: ops:: BitOr for $PublicBitFlags {
360378 type Output = Self ;
361379
@@ -366,6 +384,7 @@ macro_rules! __impl_public_bitflags_ops {
366384 }
367385 }
368386
387+ $( #[ $outer] ) *
369388 impl $crate:: __private:: core:: ops:: BitOrAssign for $PublicBitFlags {
370389 /// The bitwise or (`|`) of the bits in two flags values.
371390 #[ inline]
@@ -374,6 +393,7 @@ macro_rules! __impl_public_bitflags_ops {
374393 }
375394 }
376395
396+ $( #[ $outer] ) *
377397 impl $crate:: __private:: core:: ops:: BitXor for $PublicBitFlags {
378398 type Output = Self ;
379399
@@ -384,6 +404,7 @@ macro_rules! __impl_public_bitflags_ops {
384404 }
385405 }
386406
407+ $( #[ $outer] ) *
387408 impl $crate:: __private:: core:: ops:: BitXorAssign for $PublicBitFlags {
388409 /// The bitwise exclusive-or (`^`) of the bits in two flags values.
389410 #[ inline]
@@ -392,6 +413,7 @@ macro_rules! __impl_public_bitflags_ops {
392413 }
393414 }
394415
416+ $( #[ $outer] ) *
395417 impl $crate:: __private:: core:: ops:: BitAnd for $PublicBitFlags {
396418 type Output = Self ;
397419
@@ -402,6 +424,7 @@ macro_rules! __impl_public_bitflags_ops {
402424 }
403425 }
404426
427+ $( #[ $outer] ) *
405428 impl $crate:: __private:: core:: ops:: BitAndAssign for $PublicBitFlags {
406429 /// The bitwise and (`&`) of the bits in two flags values.
407430 #[ inline]
@@ -410,6 +433,7 @@ macro_rules! __impl_public_bitflags_ops {
410433 }
411434 }
412435
436+ $( #[ $outer] ) *
413437 impl $crate:: __private:: core:: ops:: Sub for $PublicBitFlags {
414438 type Output = Self ;
415439
@@ -423,6 +447,7 @@ macro_rules! __impl_public_bitflags_ops {
423447 }
424448 }
425449
450+ $( #[ $outer] ) *
426451 impl $crate:: __private:: core:: ops:: SubAssign for $PublicBitFlags {
427452 /// The intersection of a source flags value with the complement of a target flags value (`&!`).
428453 ///
@@ -434,6 +459,7 @@ macro_rules! __impl_public_bitflags_ops {
434459 }
435460 }
436461
462+ $( #[ $outer] ) *
437463 impl $crate:: __private:: core:: ops:: Not for $PublicBitFlags {
438464 type Output = Self ;
439465
@@ -444,6 +470,7 @@ macro_rules! __impl_public_bitflags_ops {
444470 }
445471 }
446472
473+ $( #[ $outer] ) *
447474 impl $crate:: __private:: core:: iter:: Extend <$PublicBitFlags> for $PublicBitFlags {
448475 /// The bitwise or (`|`) of the bits in each flags value.
449476 fn extend<T : $crate:: __private:: core:: iter:: IntoIterator <Item = Self >>(
@@ -456,6 +483,7 @@ macro_rules! __impl_public_bitflags_ops {
456483 }
457484 }
458485
486+ $( #[ $outer] ) *
459487 impl $crate:: __private:: core:: iter:: FromIterator <$PublicBitFlags> for $PublicBitFlags {
460488 /// The bitwise or (`|`) of the bits in each flags value.
461489 fn from_iter<T : $crate:: __private:: core:: iter:: IntoIterator <Item = Self >>(
@@ -476,13 +504,15 @@ macro_rules! __impl_public_bitflags_ops {
476504#[ doc( hidden) ]
477505macro_rules! __impl_public_bitflags_consts {
478506 (
507+ $( #[ $outer: meta] ) *
479508 $PublicBitFlags: ident: $T: ty {
480509 $(
481510 $( #[ $inner: ident $( $args: tt) * ] ) *
482511 const $Flag: tt = $value: expr;
483512 ) *
484513 }
485514 ) => {
515+ $( #[ $outer] ) *
486516 impl $PublicBitFlags {
487517 $(
488518 $crate:: __bitflags_flag!( {
@@ -500,6 +530,7 @@ macro_rules! __impl_public_bitflags_consts {
500530 ) *
501531 }
502532
533+ $( #[ $outer] ) *
503534 impl $crate:: Flags for $PublicBitFlags {
504535 const FLAGS : & ' static [ $crate:: Flag <$PublicBitFlags>] = & [
505536 $(
0 commit comments