-
Notifications
You must be signed in to change notification settings - Fork 22
Closed
Labels
ACP-acceptedAPI Change Proposal is accepted (seconded with no objections)API Change Proposal is accepted (seconded with no objections)T-libs-apiapi-change-proposalA proposal to add or alter unstable APIs in the standard librariesA proposal to add or alter unstable APIs in the standard libraries
Description
Proposal
Add Lines::remainder
similarly to other remainder
methods on split iterators for strings (see tracking issue: rust-lang/rust#77998).
Problem statement
While most iterators that split strings allow to get the remainder, Lines
does not.
Motivation, use-cases
It may be beneficial to get the remainder of an iterator, for example to process it differently. A rough sketch:
let lines = s.lines();
while let Some(line) = lines.next() {
let command = line.parse::<Command>()?;
// ...
if command.is_end() {
process_end(lines.remainder());
break;
}
}
Solution sketches
impl<'a> Lines<'a> {
pub fn remainder(&self) -> Option<&'a str> { /* ... */ }
}
Links and related work
- Tracking issue for similar methods on other iterators: Tracking Issue for
remainder
methods forstr
split iterators rust#77998 - Implementation PR: Add
str::Lines::remainder
rust#107464
What happens now?
This issue is part of the libs-api team API change proposal process. Once this issue is filed the libs-api team will review open proposals in its weekly meeting. You should receive feedback within a week or two.
jplatte and haberman
Metadata
Metadata
Assignees
Labels
ACP-acceptedAPI Change Proposal is accepted (seconded with no objections)API Change Proposal is accepted (seconded with no objections)T-libs-apiapi-change-proposalA proposal to add or alter unstable APIs in the standard librariesA proposal to add or alter unstable APIs in the standard libraries
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
str::Lines::remainder
rust-lang/rust#107464pitaj commentedon Jan 31, 2023
Seems like a fitting addition to me
JohnCSimon commentedon Apr 30, 2023
@WaffleLapkin Ping from triage: Can you post your status on this PR? This has sat idle for a few months.
WaffleLapkin commentedon Apr 30, 2023
@JohnCSimon it is waiting on review from libs-api (either the ACP or the PR)
haberman commentedon Dec 3, 2023
Any update? I found myself wanting this method today.
WaffleLapkin commentedon Dec 10, 2023
@haberman still waiting on T-libs-api. They are having problems with not having enough capacity.
dtolnay commentedon Jan 26, 2024
This looks good to me, and I have accepted your PR. Thanks!