Alexandre Courbot
2025-Aug-02 14:02 UTC
[PATCH 1/3] rust: add `num` module with `PowerOfTwo` type
On Fri Jun 20, 2025 at 11:02 PM JST, Alice Ryhl wrote:> On Fri, Jun 20, 2025 at 3:59?PM Alexandre Courbot <acourbot at nvidia.com> wrote: >> > Similarly, if they stabilize the `Alignment` one (only) and we end up >> > only using our `PowerOfTwo<T>` for `usize` and those use cases, then >> > we should consider using the upstream one (and adding any/all methods >> > that we need). >> >> `Alignment` is very close to what we need, so I don't see a reason to >> not adopt the same name at the very least. >> >> This reminds me that I should also check whether upstream Rust would be >> interested in `prev_multiple_of` and `last_set_bit`. The docs I've read >> for contributing looked a bit intimidating, with RFCs to write and all. >> Would you have a pointer for where I should start? Maybe a Zulip thread? > > If you want to add a new library function, the correct procedure would > be opening an ACP, which is more light-weight than the RFC process: > https://std-dev-guide.rust-lang.org/development/feature-lifecycle.html > > RFCs are mainly for much bigger changes.Belated thanks for the suggestion; I have finally opened an ACP for `last_set_bit` (and `first_set_bit` while we are at it): https://github.com/rust-lang/libs-team/issues/631 I am still entangled with how to best leverage `Alignment` for our purposes, but think I am getting close to a v2 of this patchset.
Miguel Ojeda
2025-Aug-02 14:18 UTC
[PATCH 1/3] rust: add `num` module with `PowerOfTwo` type
On Sat, Aug 2, 2025 at 4:02?PM Alexandre Courbot <acourbot at nvidia.com> wrote:> > Belated thanks for the suggestion; I have finally opened an ACP for > `last_set_bit` (and `first_set_bit` while we are at it): > https://github.com/rust-lang/libs-team/issues/631 > > I am still entangled with how to best leverage `Alignment` for our > purposes, but think I am getting close to a v2 of this patchset.Thanks for filling that one -- linked now from our usual lists :) https://github.com/Rust-for-Linux/linux/issues/514 Cheers, Miguel
Alexandre Courbot
2025-Aug-03 13:13 UTC
[PATCH 1/3] rust: add `num` module with `PowerOfTwo` type
On Sat Aug 2, 2025 at 11:18 PM JST, Miguel Ojeda wrote:> On Sat, Aug 2, 2025 at 4:02?PM Alexandre Courbot <acourbot at nvidia.com> wrote: >> >> Belated thanks for the suggestion; I have finally opened an ACP for >> `last_set_bit` (and `first_set_bit` while we are at it): >> https://github.com/rust-lang/libs-team/issues/631 >> >> I am still entangled with how to best leverage `Alignment` for our >> purposes, but think I am getting close to a v2 of this patchset. > > Thanks for filling that one -- linked now from our usual lists :) > > https://github.com/Rust-for-Linux/linux/issues/514We got some interesting feedback on the ACP already. I have been pointed to `checked_ilog2` as an equivalent of `last_set_bit`, and it *does* indeed work well as a replacement - with the caveat that the name is not very natural to me (or anyone familiar with the C interface). Is this something we can live with? If we decide to go with the existing standard library method, how can we make sure that folks looking for an equivalent of `fls` find `checked_ilog2`?