diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-09-19 21:08:08 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-09-19 21:08:08 -0700 |
| commit | b54eb9b6e2a414404b53912608ecc9c3d7aedfe8 (patch) | |
| tree | 9a3ae532280ef788161f95cf1335e16278daa90d | |
| parent | af3889f6979647b9bd2dc5f5132d80e3e5b405a5 (diff) | |
| download | rust-b54eb9b6e2a414404b53912608ecc9c3d7aedfe8.tar.gz rust-b54eb9b6e2a414404b53912608ecc9c3d7aedfe8.zip | |
std: Don't require bitflags! be u32
If you didn't have a trailing comma at the end of the variants, you could use any type you wanted, but if you used a trailing comma the macro would erroneously require the bits be a u32.
| -rw-r--r-- | src/libstd/bitflags.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstd/bitflags.rs b/src/libstd/bitflags.rs index 8af88b4fe72..41813fff36e 100644 --- a/src/libstd/bitflags.rs +++ b/src/libstd/bitflags.rs @@ -223,7 +223,7 @@ macro_rules! bitflags { }) => { bitflags! { $(#[$attr])* - flags $BitFlags: u32 { + flags $BitFlags: $T { $($(#[$Flag_attr])* static $Flag = $value),+ } } @@ -255,6 +255,12 @@ mod tests { } } + bitflags! { + flags AnotherSetOfFlags: uint { + static AnotherFlag = 1u, + } + } + #[test] fn test_bits(){ assert_eq!(Flags::empty().bits(), 0x00000000); |
