- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
Closed
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.This issue / PR is in PFCP or FCP with a disposition to merge it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.The final comment period is finished for this PR / Issue.
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<const N: usize>(&mut self, indices: [usize; N]) -> [&mut T; N];
    pub fn get_disjoint_mut<const N: usize>(&mut self, indices: [usize; N]) -> Result<[&mut T; N], GetDisjointMutError<N>>;
}
pub struct GetDisjointMutError<const N: usize> { /* private */ }Steps / History
- Add slice methods for indexing via an array of indices. #83608
-  Stabilize get_many_mutasget_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?
stepancheg, adriandelgado, orzogc, zacgeis, JonasBurger and 6 moreshepmaster, tguichaoua, mejrs, anna-hope, Dryvnt and 29 moreCBenoit, marthadev, deadsoul44, adriandelgado, wmstack and 1 more
Metadata
Metadata
Assignees
Labels
C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.This issue / PR is in PFCP or FCP with a disposition to merge it.finished-final-comment-periodThe final comment period is finished for this PR / Issue.The final comment period is finished for this PR / Issue.