Open
Description
- Allow const iterator implementations rust#102225
- implement const iterator using
rustc_do_not_const_check
rust#106541 - Remove
do_not_const_check
fromIterator
methods rust#132368
My understanding is that constifying iterator currently required constifying all of its extension methods. That was a lot of work.
Instead, we just slapped rustc_do_not_const_check
onto all the methods, somewhat leaving us vulnerable to CTFE errors "post-mono" if any of the combinators ended up doing anything non-const.
Instead of doing this, we probably could introduce something like rustc_non_const_trait_method
that forces a specific method to be non-const in a const trait.
This means we don't need to work towards constifying all of the combinators all at once. Then when we constify iterator, we can initially slap #[rustc_non_const_trait_method]
on every combinator, and slowly work to peel them off until the trait is fully constified.
Metadata
Metadata
Assignees
Labels
No labels