about summary refs log tree commit diff
path: root/library/core/tests/lib.rs
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2021-01-16 17:29:51 +0000
committerGitHub <noreply@github.com>2021-01-16 17:29:51 +0000
commitd8843d9d82950eeb27bdce496f6179b085549d29 (patch)
tree5d207c7bb5b66b95b81040b8b02f683fdf1f4ce9 /library/core/tests/lib.rs
parentaf5b0d9883b7e6b8f27b431e5471bf658f3e0db0 (diff)
parentaf2983a9122138cb9055b79fda54e72f71599a6f (diff)
downloadrust-d8843d9d82950eeb27bdce496f6179b085549d29.tar.gz
rust-d8843d9d82950eeb27bdce496f6179b085549d29.zip
Rollup merge of #80670 - the8472:fix-zip-trusted-random-access-composition, r=m-ou-se
TrustedRandomAaccess specialization composes incorrectly for nested iter::Zips

I found this while working on improvements for TRA.

After partially consuming a Zip adapter and then wrapping it into another Zip where the adapters use their `TrustedRandomAccess` specializations leads to the outer adapter returning elements which should have already been consumed.

If the optimizer gets tripped up by the addition this might affect performance for chained `zip()` iterators even when the inner one is not partially advanced but it would require more extensive fixes to `TrustedRandomAccess` to communicate those offsets earlier.

Included test fails on nightly, [playground link](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=24fa1edf8a104ff31f5a24830593b01f)
Diffstat (limited to 'library/core/tests/lib.rs')
-rw-r--r--library/core/tests/lib.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs
index bc737cd1927..98f5982fbb2 100644
--- a/library/core/tests/lib.rs
+++ b/library/core/tests/lib.rs
@@ -75,6 +75,7 @@
 #![feature(const_option)]
 #![feature(integer_atomics)]
 #![feature(slice_group_by)]
+#![feature(trusted_random_access)]
 #![deny(unsafe_op_in_unsafe_fn)]
 
 extern crate test;