rust/library
Matthias Krüger 14ef447d12
Rollup merge of #83791 - the8472:relax-zip-side-effect-guarantee, r=dtolnay
Weaken guarantee around advancing underlying iterators in zip

The current guarantee (introduced in #52279) is too strong as it prevents adapters from exploiting knowledge about the iterator length and using counted loops for example because they would stop calling `next()` before it ever returned `None`. Additionally several nested zip iterators already fail to uphold this.

This does not yet remove any of the specialization code that tries (and sometimes fails) to uphold the guarantee for `next()`
because removing it would also affect `next_back()` in more surprising ways.

The intent is to be able to remove for example this branch

36bcf40697/library/core/src/iter/adapters/zip.rs (L234-L243)

or this test

36bcf40697/library/core/tests/iter/adapters/zip.rs (L177-L188)

Solves #82303 by declaring it a non-issue.
2021-11-27 11:46:40 +01:00
..
alloc Add a unit test for zero-sized types in RawVec. 2021-11-26 19:30:45 +11:00
backtrace@b02ed04a7e Updated backtrace submodule 2021-11-02 12:31:34 +01:00
core Rollup merge of #83791 - the8472:relax-zip-side-effect-guarantee, r=dtolnay 2021-11-27 11:46:40 +01:00
panic_abort Use target_family = "wasm" 2021-11-10 08:35:42 -08:00
panic_unwind Review comments 2021-11-10 08:35:42 -08:00
portable-simd Add 'library/portable-simd/' from commit '1ce1c645cf27c4acdefe6ec8a11d1f0491954a99' 2021-11-12 16:58:25 -08:00
proc_macro proc_macro: Add an expand_expr method to TokenStream 2021-11-12 15:41:40 -05:00
profiler_builtins rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rtstartup Bump bootstrap compiler to 1.50 beta 2020-12-30 09:27:19 -05:00
rustc-std-workspace-alloc rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc-std-workspace-core rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc-std-workspace-std rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
std Rollup merge of #91248 - alessandrod:compiler-builtins-bump-bpf, r=Mark-Simulacrum 2021-11-26 22:41:42 +01:00
stdarch@cfba59fccd Update stdarch 2021-11-19 11:20:42 -08:00
test Update more rustc/libtest things for wasm64 2021-11-10 08:35:42 -08:00
unwind Repace use of static_nobundle with native_link_modifiers 2021-10-23 15:51:22 +02:00