diff options
| author | Brendan Zabarauskas <bjzaba@yahoo.com.au> | 2014-09-04 15:16:04 +1000 |
|---|---|---|
| committer | Brendan Zabarauskas <bjzaba@yahoo.com.au> | 2014-09-05 03:31:45 +1000 |
| commit | f3f038c8566560e7367e0615d17ba104b71f6d8a (patch) | |
| tree | f5dc218030272e87a2e39bbedec2b2ae194a3b81 /src/libstd/bitflags.rs | |
| parent | 4a5a9c56319fbbf47094fb97d1171a0ed8e89239 (diff) | |
| download | rust-f3f038c8566560e7367e0615d17ba104b71f6d8a.tar.gz rust-f3f038c8566560e7367e0615d17ba104b71f6d8a.zip | |
Allow trailing commas in bitflags! macro
Diffstat (limited to 'src/libstd/bitflags.rs')
| -rw-r--r-- | src/libstd/bitflags.rs | 18 |
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, } ) |
