Tracking Issue for `get_set_bit`
Open
Nobody has claimed this yet.
C-tracking-issue
S-tracking-unimplemented
T-libs
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
Feature gate: #![feature(get_set_bit)]
This is a tracking issue for adding getters and setters of individual bits to all integral types.
Public API
This feature simplifies working with bitflags by adding to each integral type
- a
bitmethod retrieving whether the bit at some index (0is the least significant bit) is set, and - a
set_bitmethod for creating a new number, obtained form the old number by setting a specific bit to either zero or one.
impl /* u8 u16 u32 u64 u128 usize i8 i16 i32 i64 i128 isize */ {
pub const fn bit(self, index: u32) -> bool;
pub const fn set_bit(self, index: u32, value: bool) -> Self;
}
Steps
- ACP: https://github.com/rust-lang/libs-team/issues/667
- Implementation: https://github.com/rust-lang/rust/pull/147696
- Final comment period (FCP)^1
- Stabilization PR
Unresolved Questions
- Name of the setter might change to
with_bit_setor simplywith_bitto indicate more clearly that the setter creates an independent copy. See https://github.com/rust-lang/rust/pull/147696#issuecomment-3403219732
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the ACP and the implementation PR linked in the issue, then check the unresolved setter-naming question. The tracking work is complete only after the implementation, final comment period, and stabilization PR have progressed; this issue is already being handled elsewhere.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100