This release introduces the Flags trait and deprecates the BitFlags trait. These two traits are semver compatible so if you have public API code depending on BitFlags you can move to Flags without breaking end-users. This is possible because the BitFlags trait was never publicly implementable, so it now carries Flags as a supertrait. All implementations of Flags additionally implement BitFlags.
The Flags trait is a publicly implementable version of the old BitFlags trait. The original BitFlags trait carried some macro baggage that made it difficult to implement, so a new Flags trait has been introduced as the One True Trait for interacting with flags types generically. See the the macro_free and custom_derive examples for more details.
Bits trait publicly exposed
The Bits trait for the underlying storage of flags values is also now publicly implementable. This lets you define your own exotic backing storage for flags. See the custom_bits_type example for more details.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/LGUG2Z/komorebi/pull/440
**Author:** [@dependabot[bot]](https://github.com/apps/dependabot)
**Created:** 5/22/2023
**Status:** ✅ Merged
**Merged:** 5/31/2023
**Merged by:** [@LGUG2Z](https://github.com/LGUG2Z)
**Base:** `master` ← **Head:** `dependabot/cargo/bitflags-2.3.1`
---
### 📝 Commits (1)
- [`9b7a1b2`](https://github.com/LGUG2Z/komorebi/commit/9b7a1b22ab95e87eacfbaa1d132f4374cad2cd99) chore(deps): bump bitflags from 2.2.1 to 2.3.1
### 📊 Changes
**1 file changed** (+3 additions, -3 deletions)
<details>
<summary>View changed files</summary>
📝 `Cargo.lock` (+3 -3)
</details>
### 📄 Description
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.2.1 to 2.3.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p>
<blockquote>
<h2>2.3.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix Self in flags value expressions by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/355">bitflags/bitflags#355</a></li>
<li>Prepare for 2.3.1 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/358">bitflags/bitflags#358</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.3.0...2.3.1">https://github.com/bitflags/bitflags/compare/2.3.0...2.3.1</a></p>
<h2>2.3.0</h2>
<h2>Major changes</h2>
<h3><code>BitFlags</code> trait deprecated in favor of <code>Flags</code> trait</h3>
<p>This release introduces the <code>Flags</code> trait and deprecates the <code>BitFlags</code> trait. These two traits are semver compatible so if you have public API code depending on <code>BitFlags</code> you can move to <code>Flags</code> without breaking end-users. This is possible because the <code>BitFlags</code> trait was never publicly implementable, so it now carries <code>Flags</code> as a supertrait. All implementations of <code>Flags</code> additionally implement <code>BitFlags</code>.</p>
<p>The <code>Flags</code> trait is a publicly implementable version of the old <code>BitFlags</code> trait. The original <code>BitFlags</code> trait carried some macro baggage that made it difficult to implement, so a new <code>Flags</code> trait has been introduced as the <em>One True Trait</em> for interacting with flags types generically. See the the <code>macro_free</code> and <code>custom_derive</code> examples for more details.</p>
<h3><code>Bits</code> trait publicly exposed</h3>
<p>The <code>Bits</code> trait for the underlying storage of flags values is also now publicly implementable. This lets you define your own exotic backing storage for flags. See the <code>custom_bits_type</code> example for more details.</p>
<h2>What's Changed</h2>
<ul>
<li>Use explicit hashes for actions steps by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/350">bitflags/bitflags#350</a></li>
<li>Support ejecting flags types from the bitflags macro by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/351">bitflags/bitflags#351</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.2.1...2.3.0">https://github.com/bitflags/bitflags/compare/2.2.1...2.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p>
<blockquote>
<h1>2.3.1</h1>
<h2>What's Changed</h2>
<ul>
<li>Fix Self in flags value expressions by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/355">bitflags/bitflags#355</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.3.0...2.3.1">https://github.com/bitflags/bitflags/compare/2.3.0...2.3.1</a></p>
<h1>2.3.0</h1>
<h2>What's Changed</h2>
<ul>
<li>Support ejecting flags types from the bitflags macro by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/351">bitflags/bitflags#351</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.2.1...2.3.0">https://github.com/bitflags/bitflags/compare/2.2.1...2.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/bitflags/bitflags/commit/cf01ab083ce5de92df74d9d6727ea290f94bd05c"><code>cf01ab0</code></a> Merge pull request <a href="https://redirect.github.com/bitflags/bitflags/issues/358">#358</a> from KodrAus/cargo/2.3.1</li>
<li><a href="https://github.com/bitflags/bitflags/commit/3d0c558c5d8ed0d9917ec52ad17e96636b990104"><code>3d0c558</code></a> prepare for 2.3.1 release</li>
<li><a href="https://github.com/bitflags/bitflags/commit/32d406a2a13d619150229d45950a7b32d1d3f31f"><code>32d406a</code></a> Merge pull request <a href="https://redirect.github.com/bitflags/bitflags/issues/355">#355</a> from KodrAus/fix/self-in-flags</li>
<li><a href="https://github.com/bitflags/bitflags/commit/64fc2760ec84218a8693fef9916c82fd7488782e"><code>64fc276</code></a> fix up example feature</li>
<li><a href="https://github.com/bitflags/bitflags/commit/8872a64f8bddcbec0eaee5663c095c9084d872c3"><code>8872a64</code></a> fix up clippy in CI</li>
<li><a href="https://github.com/bitflags/bitflags/commit/748d88c6e5001d130de01f8d6160fb20efa25781"><code>748d88c</code></a> fix up clippy lints and flag exprs referring to Self</li>
<li><a href="https://github.com/bitflags/bitflags/commit/a4b8c99df24acc51203118dc4d789ff19bec33d9"><code>a4b8c99</code></a> fix up custom bits test</li>
<li><a href="https://github.com/bitflags/bitflags/commit/4aa03b88d60848a0e558f0c3eb98c20be9b263ff"><code>4aa03b8</code></a> add regression test for Self in flags values</li>
<li><a href="https://github.com/bitflags/bitflags/commit/31d3e4afefc964045156d7fe3622733f48511353"><code>31d3e4a</code></a> Merge pull request <a href="https://redirect.github.com/bitflags/bitflags/issues/352">#352</a> from KodrAus/cargo/2.3.0</li>
<li><a href="https://github.com/bitflags/bitflags/commit/51e8197e74fd38526f7d0a88dbba6fb6bf5dea8f"><code>51e8197</code></a> prepare for 2.3.0 release</li>
<li>Additional commits viewable in <a href="https://github.com/bitflags/bitflags/compare/2.2.1...2.3.1">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/LGUG2Z/komorebi/pull/440
Author: @dependabot[bot]
Created: 5/22/2023
Status: ✅ Merged
Merged: 5/31/2023
Merged by: @LGUG2Z
Base:
master← Head:dependabot/cargo/bitflags-2.3.1📝 Commits (1)
9b7a1b2chore(deps): bump bitflags from 2.2.1 to 2.3.1📊 Changes
1 file changed (+3 additions, -3 deletions)
View changed files
📝
Cargo.lock(+3 -3)📄 Description
Bumps bitflags from 2.2.1 to 2.3.1.
Release notes
Sourced from bitflags's releases.
Changelog
Sourced from bitflags's changelog.
Commits
cf01ab0Merge pull request #358 from KodrAus/cargo/2.3.13d0c558prepare for 2.3.1 release32d406aMerge pull request #355 from KodrAus/fix/self-in-flags64fc276fix up example feature8872a64fix up clippy in CI748d88cfix up clippy lints and flag exprs referring to Selfa4b8c99fix up custom bits test4aa03b8add regression test for Self in flags values31d3e4aMerge pull request #352 from KodrAus/cargo/2.3.051e8197prepare for 2.3.0 releaseDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.