Skip to content

Conversation

@CieriA
Copy link
Contributor

@CieriA CieriA commented Jan 2, 2026

This PR adds a section # Panics to the method Iterator::last equal to the section # Panics of the method Iterator::count, because now, after the changes made in Rust 1.92.0, both methods in std::iter::Repeat panics instead of doing an infinite loop.

Iterator::count already has documentation for this behavior ("This function might panic if the iterator has more than usize::MAX elements."), but Iterator::last does not. This PR adds documentation for this panic in the same way as Iterator::count does.

Issue: #149707

Added a `# Panics` section to `Iterator::last` to match `Iterator::count`, after the change made in Rust 1.92.0 where now `std::iter::Repeat` panics in these methods instead of doing an infinite `loop`.

Cites rust-lang#149707
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jan 2, 2026
@rustbot
Copy link
Collaborator

rustbot commented Jan 2, 2026

r? @jhpratt

rustbot has assigned @jhpratt.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@jhpratt
Copy link
Member

jhpratt commented Jan 2, 2026

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jan 2, 2026

📌 Commit d68c980 has been approved by jhpratt

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 2, 2026
bors added a commit that referenced this pull request Jan 2, 2026
Rollup of 3 pull requests

Successful merges:

 - #150073 (Make `asm_experimental_arch` work in `allow_internal_unstable` macros)
 - #150445 (resolve: Preserve binding scopes in ambiguity errors)
 - #150580 (Document `panic!` in `Iterator::last` for #149707)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 9c5bdbd into rust-lang:main Jan 2, 2026
11 checks passed
rust-timer added a commit that referenced this pull request Jan 2, 2026
Rollup merge of #150580 - CieriA:patch-3, r=jhpratt

Document `panic!` in `Iterator::last` for #149707

This PR adds a section `# Panics` to the method `Iterator::last` equal to the section `# Panics` of the method `Iterator::count`, because now, after the changes made in Rust 1.92.0, both methods in `std::iter::Repeat` panics instead of doing an infinite loop.

`Iterator::count` already has documentation for this behavior ("This function might panic if the iterator has more than `usize::MAX` elements."), but `Iterator::last` does not. This PR adds documentation for this panic in the same way as `Iterator::count` does.

Issue: #149707
@rustbot rustbot added this to the 1.94.0 milestone Jan 2, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jan 4, 2026
Clarify panic conditions in `Iterator::last`

Follow-up PR to rust-lang#150580.

Now `Iterator::last`'s docs specify that it might panic only if the iterator is infinite, rather than if it has more than `usize::MAX` elements.

# Motivation
This is because `Iterator::last`, unlike `count`, also works on iterators with more than `usize::MAX` elements, but could panic on infinite iterators (as in `Repeat`), as discussed in rust-lang#150580.

r? `@jhpratt`
Zalathar added a commit to Zalathar/rust that referenced this pull request Jan 4, 2026
Clarify panic conditions in `Iterator::last`

Follow-up PR to rust-lang#150580.

Now `Iterator::last`'s docs specify that it might panic only if the iterator is infinite, rather than if it has more than `usize::MAX` elements.

# Motivation
This is because `Iterator::last`, unlike `count`, also works on iterators with more than `usize::MAX` elements, but could panic on infinite iterators (as in `Repeat`), as discussed in rust-lang#150580.

r? ``@jhpratt``
rust-timer added a commit that referenced this pull request Jan 4, 2026
Rollup merge of #150658 - CieriA:patch-5, r=jhpratt

Clarify panic conditions in `Iterator::last`

Follow-up PR to #150580.

Now `Iterator::last`'s docs specify that it might panic only if the iterator is infinite, rather than if it has more than `usize::MAX` elements.

# Motivation
This is because `Iterator::last`, unlike `count`, also works on iterators with more than `usize::MAX` elements, but could panic on infinite iterators (as in `Repeat`), as discussed in #150580.

r? ``@jhpratt``
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants