From f3f038c8566560e7367e0615d17ba104b71f6d8a Mon Sep 17 00:00:00 2001 From: Brendan Zabarauskas Date: Thu, 4 Sep 2014 15:16:04 +1000 Subject: Allow trailing commas in bitflags! macro --- src/libstd/bitflags.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/libstd') 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, } ) -- cgit 1.4.1-3-g733a5