Tracking Issue for get_disjoint_mut · Issue #104642 · rust-lang/rust (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Appearance settings
Description
Feature gate: #![feature(get_many_mut)]
This is a tracking issue for get_disjoint_mut
and get_disjoint_unchecked_mut
, which provide &mut T
access to multiple distinct slice elements.
Public API
impl [T] { pub unsafe fn get_disjoint_unchecked_mut(&mut self, indices: [usize; N]) -> [&mut T; N]; pub fn get_disjoint_mut(&mut self, indices: [usize; N]) -> Result<[&mut T; N], GetDisjointMutError>; }
pub struct GetDisjointMutError { /* private */ }
Steps / History
- Add slice methods for indexing via an array of indices. #83608
- Stabilize get_many_mut as get_disjoint_mut #134633
Unresolved Questions
- What should the error type / return type look like?
- See Add slice methods for indexing via an array of indices. #83608 (comment), Add slice methods for indexing via an array of indices. #83608 (comment), and other comments on that PR
- Should the interface support non-usize indices (e.g.,
get_many_mut([0..3, 4..6])
)? - What are the requirements for the interface? Do we sort the passed array, and then check distinctness, or check in
O(n^2)
time?