non_snake_case in generated flags types ([#256])#[repr(transparent)] (#252)Add #[repr(transparent)] (#187)
End empty doc comment with full stop (#202)
Fix typo in crate root docs (#206)
Document from_bits_unchecked unsafety (#207)
Let is_all ignore extra bits (#211)
Allows empty flag definition (#225)
Making crate accessible from std (#227)
Make from_bits a const fn (#229)
Allow multiple bitflags structs in one macro invocation (#235)
Add named functions to perform set operations (#244)
Fix typos in method docs (#245)
Modernization of the bitflags macro to take advantage of newer features and 2018 idioms (#246)
Fix regression (in an unreleased feature) and simplify tests (#247)
Use Self and fix bug when overriding stringify! (#249)
#[inline] attributes (#194)This is a re-release of 1.0.5, which was yanked due to a bug in the RLS.
Use compiletest_rs flags supported by stable toolchain (#171)
Put the user provided attributes first (#173)
Make bitflags methods const on newer compilers (#175)
Support Rust 2018 style macro imports (#165)
use bitflags::bitflags;
30% improvement in compile time of bitflags crate (#156)
Documentation improvements (#153)
Implementation cleanup (#149)
pub(restricted) specifier on the bitflags struct (#135)all() when called from a separate crate (#136)[breaking change] Macro now generates associated constants (#24)
[breaking change] Minimum supported version is Rust 1.20, due to usage of associated constants
After being broken in 0.9, the #[deprecated] attribute is now supported again (#112)
Other improvements to unit tests and documentation (#106 and #115)
Assuming the following structure definition:
bitflags! { struct Something: u8 { const FOO = 0b01, const BAR = 0b10 } }
In 0.9 and older you could do:
let x = FOO.bits | BAR.bits;
Now you must use:
let x = Something::FOO.bits | Something::BAR.bits;
Formatting traits when other formatting traits were present in scope (#105)[breaking change] Use struct keyword instead of flags to define bitflag types (#84)
[breaking change] Terminate const items with semicolons instead of commas (#87)
Implement the Hex, Octal, and Binary formatting traits (#86)
Printing an empty flag value with the Debug trait now prints “(empty)” instead of nothing (#85)
The bitflags! macro can now be used inside of a fn body, to define a type local to that function (#74)
i128 and u128 integer types (#57)flags.set(SOME_FLAG, true) or flags.set(SOME_FLAG, false) (#55) This may break code that defines its own set method(yanked)
bitflags! macro to refer to items imported from other modules (#51)no_std feature was removed as it is now the defaultassignment_operators feature was remove as it is now enabled by default