From 380d3c075020e57dbac08afc5d3f9247acdf5ab9 Mon Sep 17 00:00:00 2001 From: konsumlamm Date: Thu, 11 Feb 2021 18:07:37 +0100 Subject: [PATCH] Add test for `bitflags! {}` --- src/lib.rs | 5 +++++ test_suite/tests/compile-fail/private_flags.rs | 3 +-- .../tests/compile-fail/private_flags.stderr | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 10 deletions(-) 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)