Skip to content

What degree of panic safety is expected for iterator adapters? #58170

Closed
@scottmcm

Description

@scottmcm

What state(s) are iterator adapters allowed to be in after a panic, @rust-lang/libs? Obviously they need to memory safe, but how many items are they expected to have consumed? Is it even allowed to call .next() on an (un-fused) iterator after you called, say, .find() on it with a closure that panicked?

Asking because this has just come up in two PRs:

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-iteratorsArea: IteratorsT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions