about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBrendan Zabarauskas <bjzaba@yahoo.com.au>2014-09-04 15:16:04 +1000
committerBrendan Zabarauskas <bjzaba@yahoo.com.au>2014-09-05 03:31:45 +1000
commitf3f038c8566560e7367e0615d17ba104b71f6d8a (patch)
treef5dc218030272e87a2e39bbedec2b2ae194a3b81 /src/libstd
parent4a5a9c56319fbbf47094fb97d1171a0ed8e89239 (diff)
downloadrust-f3f038c8566560e7367e0615d17ba104b71f6d8a.tar.gz
rust-f3f038c8566560e7367e0615d17ba104b71f6d8a.zip
Allow trailing commas in bitflags! macro
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/bitflags.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/libstd/bitflags.rs b/src/libstd/bitflags.rs
index d231189aede..aebbd487a76 100644
--- a/src/libstd/bitflags.rs
+++ b/src/libstd/bitflags.rs
@@ -24,7 +24,7 @@
 //!         static FlagC       = 0x00000100,
 //!         static FlagABC     = FlagA.bits
 //!                            | FlagB.bits
-//!                            | FlagC.bits
+//!                            | FlagC.bits,
 //!     }
 //! )
 //!
@@ -46,7 +46,7 @@
 //! bitflags!(
 //!     flags Flags: u32 {
 //!         static FlagA   = 0x00000001,
-//!         static FlagB   = 0x00000010
+//!         static FlagB   = 0x00000010,
 //!     }
 //! )
 //!
@@ -215,7 +215,17 @@ macro_rules! bitflags(
                 $BitFlags { bits: !self.bits } & $BitFlags::all()
             }
         }
-    )
+    );
+    ($(#[$attr:meta])* flags $BitFlags:ident: $T:ty {
+        $($(#[$Flag_attr:meta])* static $Flag:ident = $value:expr),+,
+    }) => (
+        bitflags!(
+            $(#[$attr])*
+            flags $BitFlags: u32 {
+                $($(#[$Flag_attr])* static $Flag = $value),+
+            }
+        )
+    );
 )
 
 #[cfg(test)]
@@ -231,7 +241,7 @@ mod tests {
             static FlagC       = 0x00000100,
             static FlagABC     = FlagA.bits
                                | FlagB.bits
-                               | FlagC.bits
+                               | FlagC.bits,
         }
     )