-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add Cell::as_array_of_cells, similar to Cell::as_slice_of_cells #87944
Conversation
r? @scottmcm (rust-highfive has picked a reviewer for you, use r? to override) |
I've put a standalone version of this function in this repo: https://github.com/oconnor663/cell_utils |
@scottmcm should I add someone else to review? |
Sorry for being slow. This seems perfectly reasonable to me, given that it's already possible (much less nicely) by going through slices. Can you open a Library Tracking Issue for it, and add that to the |
Previously, converting `&mut [T; N]` to `&[Cell<T>; N]` looks like this: let array = &mut [1, 2, 3]; let cells: &[Cell<i32>; 3] = Cell::from_mut(&mut array[..]) .as_slice_of_cells() .try_into() .unwrap(); With this new helper method, it looks like this: let array = &mut [1, 2, 3]; let cells: &[Cell<i32>; 3] = Cell::from_mut(array).as_array_of_cells();
8442f71
to
9c44d80
Compare
No worries. Done! |
@bors r+ |
📌 Commit 9c44d80 has been approved by |
…eulArtichaut Rollup of 16 pull requests Successful merges: - rust-lang#87944 (add Cell::as_array_of_cells, similar to Cell::as_slice_of_cells) - rust-lang#88156 (Adjust / fix documentation of `Arc::make_mut`) - rust-lang#88157 (bootstrap.py: recognize riscv64 when auto-detect) - rust-lang#88196 (Refactor `named_asm_labels` to a HIR lint) - rust-lang#88218 (Remove `Session.trait_methods_not_found`) - rust-lang#88223 (Remove the `TryV2` alias) - rust-lang#88226 (Fix typo “a Rc” → “an Rc” (and a few more)) - rust-lang#88267 (2229: Update signature for truncate function) - rust-lang#88273 (Fix references to `ControlFlow` in docs) - rust-lang#88277 (Update books) - rust-lang#88291 (Add SAFETY comments to core::slice::sort::partition_in_blocks) - rust-lang#88293 (Fix grammar in alloc test) - rust-lang#88298 (Errorkind reorder) - rust-lang#88299 (Stabilise BufWriter::into_parts) - rust-lang#88314 (Add type of a let tait test) - rust-lang#88325 (Add mutable-noalias to the release notes for 1.54) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
I'd like to propose adding
Cell::as_array_of_cells
, as a natural analog toCell::as_slice_of_cells
. I don't have a specific use case in mind, other than that supporting slices but not arrays feels like a gap. Do other folks agree with that intuition? Would this addition be substantial enough to need an RFC?Previously, converting
&mut [T; N]
to&[Cell<T>; N]
looks like this:With this new helper method, it looks like this: