Skip to content

Releases: bitflags/bitflags

1.3.0 (yanked)

11 Aug 22:52
971cf37
Compare
Choose a tag to compare
  • 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)

1.2.1

13 Oct 23:22
3066801
Compare
Choose a tag to compare
  • Remove extraneous #[inline] attributes (#194)

1.2.0

24 Sep 02:09
405d92d
Compare
Choose a tag to compare
  • Fix typo: {Lower, Upper}Exp - {Lower, Upper}Hex (#183)

  • Add support for "unknown" bits (#188)

1.1.0

06 Jun 00:37
Compare
Choose a tag to compare

This is a re-release of 1.0.5, which was yanked due to a bug in the RLS.

1.0.5

02 May 06:04
Compare
Choose a tag to compare
  • Use compiletest_rs flags supported by stable toolchain (#171)

  • Put the user provided attributes first (#173)

  • Make bitflags methods const on newer compilers (#175)

1.0.4

21 Aug 19:57
1.0.4
518aaf9
Compare
Choose a tag to compare
  • Support Rust 2018 style macro imports (#165)

    use bitflags::bitflags;

1.0.3

30 Apr 17:28
1.0.3
e11d8c8
Compare
Choose a tag to compare
  • Improve zero value flag handling and documentation (#157, thanks @Alex-Addy)

1.0.2

26 Apr 02:41
1.0.2
74aa397
Compare
Choose a tag to compare
  • 30% improvement in compile time of bitflags crate (#156)
  • Documentation improvements (#153)
  • Implementation cleanup (#149)

1.0.1

12 Nov 16:08
1.0.1
4b02847
Compare
Choose a tag to compare
  • Add support for pub(restricted) specifier on the bitflags struct (#135)
  • Optimize performance of all() when called from a separate crate (#136)

1.0.0

12 Nov 16:06
Compare
Choose a tag to compare
  • [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)

How to update your code to use associated constants

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;