rust/library
bors 63bacf14cd Auto merge of #82162 - cuviper:flat-fold, r=Mark-Simulacrum
Expand FlattenCompat folds

The former `chain`+`chain`+`fold` implementation looked nice from a
functional-programming perspective, but it introduced unnecessary layers
of abstraction on every `flat_map`/`flatten` fold. It's straightforward
to just fold each part in turn, and this makes it look like a simplified
version of the existing `try_fold` implementation.

For the `iter::bench_flat_map*` benchmarks, I get a large improvement in
`bench_flat_map_chain_sum`, from 1,598,473 ns/iter to 499,889 ns/iter,
and the rest are unchanged.
2021-02-25 00:36:05 +00:00
..
alloc Rollup merge of #82113 - m-ou-se:panic-format-lint, r=estebank 2021-02-23 16:10:21 +01:00
backtrace@af078ecc0b
core Auto merge of #82162 - cuviper:flat-fold, r=Mark-Simulacrum 2021-02-25 00:36:05 +00:00
panic_abort
panic_unwind
proc_macro impl PartialEq<Punct> for char; symmetry for #78636 2021-02-19 17:28:19 -08:00
profiler_builtins
rtstartup
rustc-std-workspace-alloc
rustc-std-workspace-core
rustc-std-workspace-std
std Auto merge of #82076 - jyn514:update-bootstrap, r=Mark-Simulacrum 2021-02-23 07:19:41 +00:00
stdarch@9c732a56f6
term
test Rollup merge of #82349 - tmiasko:pretty-test-timeout, r=Mark-Simulacrum 2021-02-21 15:26:50 +09:00
unwind