Skip to content

Iterator has #[must_use] but ExactSizeIterator does not #102183

Closed
@Rua

Description

@Rua

When returning an iterator of an unspecified type, I like to return impl ExactSizeIterator when I know that the type I'm returning always implements that trait. That gives the caller more options. But I noticed that while the regular Iterator trait has the #[must_use] attribute, the ExactSizeIterator trait does not. This means that the caller isn't warned about ignoring the return value when they call my function. This seems like an odd oversight, so the attribute should probably be added?

The same seems to apply to other more specific iterator traits, like DoubleEndedIterator and FusedIterator.

Metadata

Metadata

Labels

A-iteratorsArea: IteratorsC-enhancementCategory: An issue proposing an enhancement or a PR with one.T-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