diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-04-09 05:29:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-09 05:29:43 +0200 |
| commit | ecc4e2a647533ddabb7a1b69f6ab1385c3f4003c (patch) | |
| tree | de8e9f80a0c55f6f9e546ede1d3646fd0997c3bd /src/test/rustdoc-ui/coverage/json.rs | |
| parent | cefee7bd9a7e188e406cac0190cf4a19fcca27ff (diff) | |
| parent | ce8abc63a7e1fcac4b69574e00a70352e583cec8 (diff) | |
| download | rust-ecc4e2a647533ddabb7a1b69f6ab1385c3f4003c.tar.gz rust-ecc4e2a647533ddabb7a1b69f6ab1385c3f4003c.zip | |
Rollup merge of #70896 - cuviper:optional-chain, r=scottmcm
Implement Chain with Option fuses The iterators are now "fused" with `Option` so we don't need separate state to track which part is already exhausted, and we may also get niche layout for `None`. We don't use the real `Fuse` adapter because its specialization for `FusedIterator` unconditionally descends into the iterator, and that could be expensive to keep revisiting stuff like nested chains. It also hurts compiler performance to add more iterator layers to `Chain`. This change was inspired by the [proposal](https://internals.rust-lang.org/t/proposal-implement-iter-chain-using-fuse/12006) on the internals forum. This is an alternate to #70332, directly employing some of the same `Fuse` optimizations as #70366 and #70750. r? @scottmcm
Diffstat (limited to 'src/test/rustdoc-ui/coverage/json.rs')
0 files changed, 0 insertions, 0 deletions
