stabilize new RangeFrom type and iterator#153380
stabilize new RangeFrom type and iterator#153380pitaj wants to merge 1 commit intorust-lang:mainfrom
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
| /// *Note*: Overflow in the [`Iterator`] implementation (when the contained | ||
| /// *Note*: Overflow in the [`IntoIterator`] implementation (when the contained | ||
| /// data type reaches its numerical limit) is allowed to panic, wrap, or | ||
| /// saturate. This behavior is defined by the implementation of the [`Step`] | ||
| /// trait. For primitive integers, this follows the normal rules, and respects | ||
| /// the overflow checks profile (panic in debug, wrap in release). Note also | ||
| /// that overflow happens earlier than you might assume: the overflow happens | ||
| /// in the call to `next` that yields the maximum value, as the range must be | ||
| /// set to a state to yield the next value. | ||
| /// the overflow checks profile (panic in debug, wrap in release). Unlike | ||
| /// its legacy counterpart, the iterator will only panic after yielding the | ||
| /// maximum value when overflow checks are enabled. |
There was a problem hiding this comment.
Do we have a test for this?
There was a problem hiding this comment.
Yes: rangefrom-overflow-overflow-checks and friends
| /// Returns the remainder of the range being iterated over. | ||
| #[inline] | ||
| #[rustc_inherit_overflow_checks] | ||
| #[unstable(feature = "new_range_api", issue = "125687")] | ||
| #[stable(feature = "new_range_from_api", since = "CURRENT_RUSTC_VERSION")] | ||
| pub fn remainder(self) -> RangeFrom<A> { |
There was a problem hiding this comment.
This could probably use an example
There was a problem hiding this comment.
Added examples for RangeInclusive::remainder, RangeFrom::remainder, and Range::remainder
|
It doesn't look like @rustbot label +I-libs-api-nominated The current |
|
Noticing that |
|
|
This comment has been minimized.
This comment has been minimized.
Accepted in an RFC doesn’t mean we don’t want to adjust or defer it at stabilization time. It’s probably fine here, but worth confirming since it wasn’t explicitly mentioned anywhere. |
|
This was discussed in today's @rust-lang/libs-api meeting and approved the stabilization, including @rustbot label -I-libs-api-nominated |
|
@rustbot author Just needs a rebase |
|
Reminder, once the PR becomes ready for a review, use |
stabilizes `core::range::RangeFrom` stabilizes `core::range::RangeFromIter` add examples for `remainder` method on range iterators
8a511b5 to
d404c58
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
Tracking issue: #125687
r? tgross