You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement more ExactSizeIterators on 64-bit platforms
Problem statement
As rust-lang/rust#124056 mentioned, in 64-bit platforms, Range<i64>, Range<u64>, RangeInclusive<i32> and RangeInclusive<u32> can implement ExactSizeIterator and it will be convenient for many operations.
Solution sketch
Just add the implementation and #cfg[]s like other snippets in the same file.
We discussed this during today's libs-API meeting.
We'd like to have such impls in principle, and along with it things like impl From<u32> for usize and similar. But currently we do not add such target-specific impls to the standard library because it creates portability hazards.
So we have to postpone this issue. It can be revisited if and when Rust has gained a mechanism for crates to opt into limited-portability features.
Proposal
Implement more
ExactSizeIterators
on 64-bit platformsProblem statement
As rust-lang/rust#124056 mentioned, in 64-bit platforms,
Range<i64>
,Range<u64>
,RangeInclusive<i32>
andRangeInclusive<u32>
can implementExactSizeIterator
and it will be convenient for many operations.Solution sketch
Just add the implementation and
#cfg[]
s like other snippets in the same file.Possible responses
This may break some API when depends hard-wired requirement that it is not implemented, such as
https://github.com/rust-lang/rustc-rayon/blob/f192a484741522bccb411cb5f1da9ec9577d6e27/src/range.rs#L296-L299 ,
But in my opinion, such code is written not very good and can be improved.
The text was updated successfully, but these errors were encountered: