1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
|
# 1.3.2
- Allow `non_snake_case` in generated flags types ([#256])
[#252]: https://github.com/bitflags/bitflags/pull/256
# 1.3.1
- Revert unconditional `#[repr(transparent)]` ([#252])
[#252]: https://github.com/bitflags/bitflags/pull/252
# 1.3.0 (yanked)
- 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])
[#187]: https://github.com/bitflags/bitflags/pull/187
[#202]: https://github.com/bitflags/bitflags/pull/202
[#206]: https://github.com/bitflags/bitflags/pull/206
[#207]: https://github.com/bitflags/bitflags/pull/207
[#211]: https://github.com/bitflags/bitflags/pull/211
[#225]: https://github.com/bitflags/bitflags/pull/225
[#227]: https://github.com/bitflags/bitflags/pull/227
[#229]: https://github.com/bitflags/bitflags/pull/229
[#235]: https://github.com/bitflags/bitflags/pull/235
[#244]: https://github.com/bitflags/bitflags/pull/244
[#245]: https://github.com/bitflags/bitflags/pull/245
[#246]: https://github.com/bitflags/bitflags/pull/246
[#247]: https://github.com/bitflags/bitflags/pull/247
[#249]: https://github.com/bitflags/bitflags/pull/249
# 1.2.1
- Remove extraneous `#[inline]` attributes ([#194])
[#194]: https://github.com/bitflags/bitflags/pull/194
# 1.2.0
- Fix typo: {Lower, Upper}Exp - {Lower, Upper}Hex ([#183])
- Add support for "unknown" bits ([#188])
[#183]: https://github.com/rust-lang-nursery/bitflags/pull/183
[#188]: https://github.com/rust-lang-nursery/bitflags/pull/188
# 1.1.0
This is a re-release of `1.0.5`, which was yanked due to a bug in the RLS.
# 1.0.5
- Use compiletest_rs flags supported by stable toolchain ([#171])
- Put the user provided attributes first ([#173])
- Make bitflags methods `const` on newer compilers ([#175])
[#171]: https://github.com/rust-lang-nursery/bitflags/pull/171
[#173]: https://github.com/rust-lang-nursery/bitflags/pull/173
[#175]: https://github.com/rust-lang-nursery/bitflags/pull/175
# 1.0.4
- Support Rust 2018 style macro imports ([#165])
```rust
use bitflags::bitflags;
```
[#165]: https://github.com/rust-lang-nursery/bitflags/pull/165
# 1.0.3
- Improve zero value flag handling and documentation ([#157])
[#157]: https://github.com/rust-lang-nursery/bitflags/pull/157
# 1.0.2
- 30% improvement in compile time of bitflags crate ([#156])
- Documentation improvements ([#153])
- Implementation cleanup ([#149])
[#156]: https://github.com/rust-lang-nursery/bitflags/pull/156
[#153]: https://github.com/rust-lang-nursery/bitflags/pull/153
[#149]: https://github.com/rust-lang-nursery/bitflags/pull/149
# 1.0.1
- Add support for `pub(restricted)` specifier on the bitflags struct ([#135])
- Optimize performance of `all()` when called from a separate crate ([#136])
[#135]: https://github.com/rust-lang-nursery/bitflags/pull/135
[#136]: https://github.com/rust-lang-nursery/bitflags/pull/136
# 1.0.0
- **[breaking change]** Macro now generates [associated constants](https://doc.rust-lang.org/reference/items.html#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])
[#24]: https://github.com/rust-lang-nursery/bitflags/pull/24
[#106]: https://github.com/rust-lang-nursery/bitflags/pull/106
[#112]: https://github.com/rust-lang-nursery/bitflags/pull/112
[#115]: https://github.com/rust-lang-nursery/bitflags/pull/115
## How to update your code to use associated constants
Assuming the following structure definition:
```rust
bitflags! {
struct Something: u8 {
const FOO = 0b01,
const BAR = 0b10
}
}
```
In 0.9 and older you could do:
```rust
let x = FOO.bits | BAR.bits;
```
Now you must use:
```rust
let x = Something::FOO.bits | Something::BAR.bits;
```
# 0.9.1
- Fix the implementation of `Formatting` traits when other formatting traits were present in scope ([#105])
[#105]: https://github.com/rust-lang-nursery/bitflags/pull/105
# 0.9.0
- **[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])
[#74]: https://github.com/rust-lang-nursery/bitflags/pull/74
[#84]: https://github.com/rust-lang-nursery/bitflags/pull/84
[#85]: https://github.com/rust-lang-nursery/bitflags/pull/85
[#86]: https://github.com/rust-lang-nursery/bitflags/pull/86
[#87]: https://github.com/rust-lang-nursery/bitflags/pull/87
# 0.8.2
- Update feature flag used when building bitflags as a dependency of the Rust toolchain
# 0.8.1
- Allow bitflags to be used as a dependency of the Rust toolchain
# 0.8.0
- Add support for the experimental `i128` and `u128` integer types ([#57])
- Add set method: `flags.set(SOME_FLAG, true)` or `flags.set(SOME_FLAG, false)` ([#55])
This may break code that defines its own set method
[#55]: https://github.com/rust-lang-nursery/bitflags/pull/55
[#57]: https://github.com/rust-lang-nursery/bitflags/pull/57
# 0.7.1
*(yanked)*
# 0.7.0
- Implement the Extend trait ([#49])
- Allow definitions inside the `bitflags!` macro to refer to items imported from other modules ([#51])
[#49]: https://github.com/rust-lang-nursery/bitflags/pull/49
[#51]: https://github.com/rust-lang-nursery/bitflags/pull/51
# 0.6.0
- The `no_std` feature was removed as it is now the default
- The `assignment_operators` feature was remove as it is now enabled by default
- Some clippy suggestions have been applied
|