rust/library/core/src/ops
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
..
arith.rs Add a minimal working append_const_msg argument 2022-01-26 00:48:08 +11:00
bit.rs Update stabilization version of impl Not for ! 2022-01-19 23:30:55 -08:00
control_flow.rs Add map_continue and continue_value combinators to ControlFlow 2022-07-20 16:32:09 -04:00
deref.rs Improve doc example of DerefMut 2022-04-03 12:42:19 +09:00
drop.rs Fix links to error codes 2022-08-23 21:47:31 +02:00
function.rs Added Tracking Issue number. 2022-09-14 15:10:02 +02:00
generator.rs Generator return doesn't need to be a lang item 2022-09-08 02:52:57 +00:00
index.rs Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
index_range.rs Optimize array::IntoIter 2022-09-19 23:24:34 -07:00
mod.rs Optimize array::IntoIter 2022-09-19 23:24:34 -07:00
range.rs Partially stabilize bound_as_ref by stablizing Bound::as_ref 2022-08-27 13:50:57 -07:00
try_trait.rs Address nits, rename enclosing_scope => parent_label 2022-09-04 02:10:31 +00:00
unsize.rs core::ops::unsize: improve docs for DispatchFromDyn 2021-12-07 12:27:41 +00:00