about summary refs log tree commit diff
path: root/src/test/ui/iterators/iter-sum-overflow-debug.rs
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-10-19 16:00:53 +0200
committerGitHub <noreply@github.com>2019-10-19 16:00:53 +0200
commita6b5c80dbc879a80633d49f2c4bebe193ab1134c (patch)
tree0671b311bad8e30f076e9f864d0f6ccf43793d93 /src/test/ui/iterators/iter-sum-overflow-debug.rs
parent7e4ff91403dd4752cc643e9dff55d93076e4802c (diff)
parent56974329d1eab8dd990d53b6cd6978bbf6a615b7 (diff)
downloadrust-a6b5c80dbc879a80633d49f2c4bebe193ab1134c.tar.gz
rust-a6b5c80dbc879a80633d49f2c4bebe193ab1134c.zip
Rollup merge of #65226 - ssomers:master, r=bluss
BTreeSet symmetric_difference & union optimized

No scalability changes, but:
- Grew the cmp_opt function (shared by symmetric_difference & union) into a MergeIter, with less memory overhead than the pairs of Peekable iterators now, speeding up ~20% on my machine (not so clear on Travis though, I actually switched it off there because it wasn't consistent about identical code). Mainly meant to improve readability by sharing code, though it does end up using more lines of code. Extending and reusing the MergeIter in btree_map might be better, but I'm not sure that's possible or desirable. This MergeIter probably pretends to be more generic than it is, yet doesn't declare to be an iterator because there's no need to, it's only there to help construct genuine iterators SymmetricDifference & Union.
- Compact the code of #64820 by moving if/else into match guards.

r? @bluss
Diffstat (limited to 'src/test/ui/iterators/iter-sum-overflow-debug.rs')
0 files changed, 0 insertions, 0 deletions