From 057ea95c45e6dacac0219854701e1bee18674247 Mon Sep 17 00:00:00 2001 From: konsumlamm Date: Thu, 16 Dec 2021 10:29:05 +0100 Subject: [PATCH] Sanitize `Ok` --- src/lib.rs | 2 +- tests/compile-pass/redefinition/result.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 tests/compile-pass/redefinition/result.rs diff --git a/src/lib.rs b/src/lib.rs index 617afea0..a4ca8429 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -500,7 +500,7 @@ macro_rules! __impl_bitflags { if first { f.write_str("(empty)")?; } - Ok(()) + $crate::_core::fmt::Result::Ok(()) } } impl $crate::_core::fmt::Binary for $BitFlags { diff --git a/tests/compile-pass/redefinition/result.rs b/tests/compile-pass/redefinition/result.rs new file mode 100644 index 00000000..fe915d47 --- /dev/null +++ b/tests/compile-pass/redefinition/result.rs @@ -0,0 +1,15 @@ +use bitflags::bitflags; + +// Checks for possible errors caused by overriding names used by `bitflags!` internally. + +// bug #265 (https://github.com/bitflags/bitflags/issues/265) + +pub struct Ok(T); + +bitflags! { + pub struct Flags: u16{ + const FOO = 0x0001; + } +} + +fn main() {}