Skip to content

Add functions to GrowableBitSet#151148

Merged
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Jarcho:gbit_set
Mar 25, 2026
Merged

Add functions to GrowableBitSet#151148
rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Jarcho:gbit_set

Conversation

@Jarcho
Copy link
Copy Markdown
Contributor

@Jarcho Jarcho commented Jan 15, 2026

Only really need insert_range for clippy, but may as well add the others. Using Range instead of RangeBounds since an end bound is needed for this to make sense and there aren't any traits to enforce that.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 15, 2026
@rustbot
Copy link
Copy Markdown
Collaborator

rustbot commented Jan 15, 2026

r? @SparrowLii

rustbot has assigned @SparrowLii.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer


#[inline]
pub fn contains_any(&self, elems: Range<T>) -> bool {
if elems.start.index() < self.bit_set.domain_size {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be a bit nitpicky, but I think it might be neater to evaluate the if condition as elems.start.index() >= self.bit_set.domain_size (returning false), so that you can just return self.bit_set.contains_any(elems.start..T::new(elems.end.index().min(self.bit_set.domain_size))

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could also just be

elems.start.index() < self.bit_set.domain_size
    && self.bit_set.contains_any(elems.start..T::new(elems.end.index().min(self.bit_set.domain_size)))

I find them all more or less equally readable.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True (and I think I prefer the suggestion you just made here). I just thought it felt stylistically out of place with how the other functions are implemented in GrowableBitSet<T>.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed.

@apiraino
Copy link
Copy Markdown
Contributor

r? compiler

@rustbot rustbot assigned davidtwco and unassigned SparrowLii Mar 12, 2026
@davidtwco
Copy link
Copy Markdown
Member

@bors r+ rollup

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Mar 25, 2026

📌 Commit e7d56c6 has been approved by davidtwco

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 25, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Mar 25, 2026
Add functions to `GrowableBitSet`

Only really need `insert_range` for clippy, but may as well add the others. Using `Range` instead of `RangeBounds` since an end bound is needed for this to make sense and there aren't any traits to enforce that.
rust-bors bot pushed a commit that referenced this pull request Mar 25, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #153049 (Add `-Zsanitize=kernel-hwaddress`)
 - #153702 (Add macro matcher for `guard` fragment specifier)
 - #154200 (debuginfo: emit DW_TAG_call_site entries)
 - #154263 (interpret: when passing an argument fails, point at that argument)
 - #154269 (miri recursive validation: only check one layer deep)
 - #154313 (Init `self_decl` with a correct visibility)
 - #154344 (Update LLVM to 22.1.2)
 - #154348 (re-enable enzyme/autodiff builds on dist-aarch64-apple)
 - #154351 (Overhaul `Erasable` impls)
 - #154363 (delegation: fix zero-args nested delegation ICE)
 - #154364 (delegation: don't propagate synthetic params, remove lifetime hacks)
 - #151148 (Add functions to `GrowableBitSet`)
 - #154090 (Move tests in the statics category)
 - #154112 (some `tests/ui/macros` cleanup)
 - #154131 (begin `tests/ui/structs-enums` cleanup)
 - #154216 (unstably mark `NonNull::with_exposed_provenance` as const)
 - #154230 (Moved and rename issue-50411 to tests/ui/mir/inliner-double-elaborate)
 - #154233 (Move ui/issues tests to relevant subdirectories)
 - #154288 (Fix typo in doc comment for `char::to_titlecase`)
 - #154355 (delegation: add const type ICE test)
 - #154358 (install-template.sh: Optimize by using Bourne shell builtins.)
 - #154360 (fromrangeiter-overflow-checks: accept optional `signext` for argument)
@rust-bors rust-bors bot merged commit 9974931 into rust-lang:main Mar 25, 2026
11 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 25, 2026
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Mar 26, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - rust-lang/rust#153049 (Add `-Zsanitize=kernel-hwaddress`)
 - rust-lang/rust#153702 (Add macro matcher for `guard` fragment specifier)
 - rust-lang/rust#154200 (debuginfo: emit DW_TAG_call_site entries)
 - rust-lang/rust#154263 (interpret: when passing an argument fails, point at that argument)
 - rust-lang/rust#154269 (miri recursive validation: only check one layer deep)
 - rust-lang/rust#154313 (Init `self_decl` with a correct visibility)
 - rust-lang/rust#154344 (Update LLVM to 22.1.2)
 - rust-lang/rust#154348 (re-enable enzyme/autodiff builds on dist-aarch64-apple)
 - rust-lang/rust#154351 (Overhaul `Erasable` impls)
 - rust-lang/rust#154363 (delegation: fix zero-args nested delegation ICE)
 - rust-lang/rust#154364 (delegation: don't propagate synthetic params, remove lifetime hacks)
 - rust-lang/rust#151148 (Add functions to `GrowableBitSet`)
 - rust-lang/rust#154090 (Move tests in the statics category)
 - rust-lang/rust#154112 (some `tests/ui/macros` cleanup)
 - rust-lang/rust#154131 (begin `tests/ui/structs-enums` cleanup)
 - rust-lang/rust#154216 (unstably mark `NonNull::with_exposed_provenance` as const)
 - rust-lang/rust#154230 (Moved and rename issue-50411 to tests/ui/mir/inliner-double-elaborate)
 - rust-lang/rust#154233 (Move ui/issues tests to relevant subdirectories)
 - rust-lang/rust#154288 (Fix typo in doc comment for `char::to_titlecase`)
 - rust-lang/rust#154355 (delegation: add const type ICE test)
 - rust-lang/rust#154358 (install-template.sh: Optimize by using Bourne shell builtins.)
 - rust-lang/rust#154360 (fromrangeiter-overflow-checks: accept optional `signext` for argument)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants