diff --git a/src/lib.rs b/src/lib.rs index 7234e8f0..906ec986 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1455,4 +1455,9 @@ mod tests { assert_eq!(format!("{:?}", Flags::empty()), "NONE"); assert_eq!(format!("{:?}", Flags::SOME), "SOME"); } + + #[test] + fn test_empty_bitflags() { + bitflags! {} + } } diff --git a/test_suite/tests/compile-fail/private_flags.rs b/test_suite/tests/compile-fail/private_flags.rs index 35089bc0..0532246a 100644 --- a/test_suite/tests/compile-fail/private_flags.rs +++ b/test_suite/tests/compile-fail/private_flags.rs @@ -6,8 +6,7 @@ mod example { pub struct Flags1: u32 { const FLAG_A = 0b00000001; } - } - bitflags! { + struct Flags2: u32 { const FLAG_B = 0b00000010; } diff --git a/test_suite/tests/compile-fail/private_flags.stderr b/test_suite/tests/compile-fail/private_flags.stderr index c72b6ff6..2bdf1acb 100644 --- a/test_suite/tests/compile-fail/private_flags.stderr +++ b/test_suite/tests/compile-fail/private_flags.stderr @@ -1,16 +1,18 @@ error[E0603]: struct `Flags2` is private - --> $DIR/private_flags.rs:19:26 + --> $DIR/private_flags.rs:18:26 | -19 | let flag2 = example::Flags2::FLAG_B; +18 | let flag2 = example::Flags2::FLAG_B; | ^^^^^^ private struct | note: the struct `Flags2` is defined here - --> $DIR/private_flags.rs:10:5 + --> $DIR/private_flags.rs:5:5 | -10 | / bitflags! { -11 | | struct Flags2: u32 { -12 | | const FLAG_B = 0b00000010; -13 | | } -14 | | } +5 | / bitflags! { +6 | | pub struct Flags1: u32 { +7 | | const FLAG_A = 0b00000001; +8 | | } +... | +12 | | } +13 | | } | |_____^ = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)