rust/library/core
Scott McMurray 6dbd9a29c2 Optimize array::IntoIter
`.into_iter()` on arrays was slower than it needed to be (especially compared to slice iterator) since it uses `Range<usize>`, which needs to handle degenerate ranges like `10..4`.

This PR adds an internal `IndexRange` type that's like `Range<usize>` but with a safety invariant that means it doesn't need to worry about those cases -- it only handles `start <= end` -- and thus can give LLVM more information to optimize better.

I added one simple demonstration of the improvement as a codegen test.
2022-09-19 23:24:34 -07:00
..
benches Rename integer log* methods to ilog* 2022-08-09 10:20:49 -07:00
primitive_docs Add primitive documentation to libcore 2021-09-12 02:23:08 +00:00
src Optimize array::IntoIter 2022-09-19 23:24:34 -07:00
tests Auto merge of #93873 - Stovent:big-ints, r=m-ou-se 2022-09-09 00:59:08 +00:00
Cargo.toml Avoid use of rand::thread_rng in stdlib benchmarks 2022-05-02 00:08:21 -07:00