Skip to content

Commit 4e7497b

Browse files
authored
Rollup merge of #91881 - Patrick-Poitras:stabilize-iter-zip, r=scottmcm
Stabilize `iter::zip` Hello all! As the tracking issue (#83574) for `iter::zip` completed the final commenting period without any concerns being raised, I hereby submit this stabilization PR on the issue. As the pull request that introduced the feature (#82917) states, the `iter::zip` function is a shorter way to zip two iterators. As it's generally a quality-of-life/ergonomic improvement, it has been integrated into the codebase without any trouble, and has been used in many places across the rust compiler and standard library since March without any issues. For more details, I would refer to `@cuviper's` original PR, or the [function's documentation](https://doc.rust-lang.org/std/iter/fn.zip.html).
2 parents 2f270e4 + 047adb5 commit 4e7497b

File tree

29 files changed

+3
-30
lines changed

29 files changed

+3
-30
lines changed

compiler/rustc_apfloat/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
3434
#![no_std]
3535
#![forbid(unsafe_code)]
36-
#![feature(iter_zip)]
3736
#![feature(nll)]
3837

3938
#[macro_use]

compiler/rustc_ast/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#![feature(box_patterns)]
1212
#![feature(crate_visibility_modifier)]
1313
#![feature(if_let_guard)]
14-
#![feature(iter_zip)]
1514
#![feature(label_break_value)]
1615
#![feature(nll)]
1716
#![feature(min_specialization)]

compiler/rustc_ast_lowering/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
3333
#![feature(crate_visibility_modifier)]
3434
#![feature(box_patterns)]
35-
#![feature(iter_zip)]
3635
#![feature(never_type)]
3736
#![recursion_limit = "256"]
3837

compiler/rustc_borrowck/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#![feature(box_patterns)]
55
#![feature(crate_visibility_modifier)]
66
#![feature(in_band_lifetimes)]
7-
#![feature(iter_zip)]
87
#![feature(let_else)]
98
#![feature(min_specialization)]
109
#![feature(stmt_expr_attributes)]

compiler/rustc_builtin_macros/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#![feature(bool_to_option)]
77
#![feature(crate_visibility_modifier)]
88
#![feature(decl_macro)]
9-
#![feature(iter_zip)]
109
#![feature(nll)]
1110
#![feature(proc_macro_internals)]
1211
#![feature(proc_macro_quote)]

compiler/rustc_codegen_llvm/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#![feature(crate_visibility_modifier)]
1010
#![feature(extern_types)]
1111
#![feature(in_band_lifetimes)]
12-
#![feature(iter_zip)]
1312
#![feature(nll)]
1413
#![recursion_limit = "256"]
1514

compiler/rustc_const_eval/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ Rust MIR: a lowered representation of Rust.
1111
#![feature(crate_visibility_modifier)]
1212
#![feature(decl_macro)]
1313
#![feature(exact_size_is_empty)]
14-
#![feature(iter_zip)]
1514
#![feature(let_else)]
1615
#![feature(map_try_insert)]
1716
#![feature(min_specialization)]

compiler/rustc_errors/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#![feature(crate_visibility_modifier)]
77
#![feature(backtrace)]
88
#![feature(if_let_guard)]
9-
#![feature(iter_zip)]
109
#![feature(let_else)]
1110
#![feature(nll)]
1211

compiler/rustc_expand/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#![feature(decl_macro)]
33
#![feature(destructuring_assignment)]
44
#![feature(if_let_guard)]
5-
#![feature(iter_zip)]
65
#![feature(let_else)]
76
#![feature(proc_macro_diagnostic)]
87
#![feature(proc_macro_internals)]

compiler/rustc_index/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#![feature(allow_internal_unstable)]
22
#![feature(bench_black_box)]
33
#![feature(extend_one)]
4-
#![feature(iter_zip)]
54
#![feature(min_specialization)]
65
#![feature(step_trait)]
76
#![feature(test)]

compiler/rustc_infer/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#![feature(box_patterns)]
1818
#![feature(derive_default_enum)]
1919
#![feature(extend_one)]
20-
#![feature(iter_zip)]
2120
#![feature(let_else)]
2221
#![feature(never_type)]
2322
#![feature(in_band_lifetimes)]

compiler/rustc_lint/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
#![feature(box_patterns)]
3232
#![feature(crate_visibility_modifier)]
3333
#![feature(iter_order_by)]
34-
#![feature(iter_zip)]
3534
#![feature(let_else)]
3635
#![feature(never_type)]
3736
#![feature(nll)]

compiler/rustc_middle/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
#![feature(half_open_range_patterns)]
5252
#![feature(control_flow_enum)]
5353
#![feature(associated_type_defaults)]
54-
#![feature(iter_zip)]
5554
#![feature(trusted_step)]
5655
#![feature(try_blocks)]
5756
#![feature(try_reserve_kind)]

compiler/rustc_mir_build/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#![feature(control_flow_enum)]
66
#![feature(crate_visibility_modifier)]
77
#![feature(bool_to_option)]
8-
#![feature(iter_zip)]
98
#![feature(let_else)]
109
#![feature(once_cell)]
1110
#![feature(min_specialization)]

compiler/rustc_mir_dataflow/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#![feature(box_syntax)]
55
#![feature(exact_size_is_empty)]
66
#![feature(in_band_lifetimes)]
7-
#![feature(iter_zip)]
87
#![feature(let_else)]
98
#![feature(min_specialization)]
109
#![feature(once_cell)]

compiler/rustc_mir_transform/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#![feature(box_patterns)]
22
#![feature(box_syntax)]
33
#![feature(crate_visibility_modifier)]
4-
#![feature(iter_zip)]
54
#![feature(let_else)]
65
#![feature(map_try_insert)]
76
#![feature(min_specialization)]

compiler/rustc_passes/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
88
#![feature(crate_visibility_modifier)]
99
#![feature(in_band_lifetimes)]
10-
#![feature(iter_zip)]
1110
#![feature(map_try_insert)]
1211
#![feature(min_specialization)]
1312
#![feature(nll)]

compiler/rustc_query_system/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#![feature(bool_to_option)]
33
#![feature(core_intrinsics)]
44
#![feature(hash_raw_entry)]
5-
#![feature(iter_zip)]
65
#![feature(let_else)]
76
#![feature(min_specialization)]
87
#![feature(extern_types)]

compiler/rustc_resolve/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
#![feature(drain_filter)]
1414
#![feature(bool_to_option)]
1515
#![feature(crate_visibility_modifier)]
16-
#![feature(iter_zip)]
1716
#![feature(let_else)]
1817
#![feature(never_type)]
1918
#![feature(nll)]

compiler/rustc_symbol_mangling/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
#![feature(never_type)]
9292
#![feature(nll)]
9393
#![feature(in_band_lifetimes)]
94-
#![feature(iter_zip)]
9594
#![recursion_limit = "256"]
9695

9796
#[macro_use]

compiler/rustc_trait_selection/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#![feature(derive_default_enum)]
1818
#![feature(hash_drain_filter)]
1919
#![feature(in_band_lifetimes)]
20-
#![feature(iter_zip)]
2120
#![feature(let_else)]
2221
#![feature(never_type)]
2322
#![feature(crate_visibility_modifier)]

compiler/rustc_typeck/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ This API is completely unstable and subject to change.
6161
#![feature(if_let_guard)]
6262
#![feature(in_band_lifetimes)]
6363
#![feature(is_sorted)]
64-
#![feature(iter_zip)]
6564
#![feature(let_else)]
6665
#![feature(min_specialization)]
6766
#![feature(nll)]

library/alloc/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@
107107
#![feature(inherent_ascii_escape)]
108108
#![feature(inplace_iteration)]
109109
#![feature(iter_advance_by)]
110-
#![feature(iter_zip)]
111110
#![feature(layout_for_ptr)]
112111
#![feature(maybe_uninit_extra)]
113112
#![feature(maybe_uninit_slice)]

library/core/src/iter/adapters/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub use self::zip::TrustedRandomAccess;
5454
#[unstable(feature = "trusted_random_access", issue = "none")]
5555
pub use self::zip::TrustedRandomAccessNoCoerce;
5656

57-
#[unstable(feature = "iter_zip", issue = "83574")]
57+
#[stable(feature = "iter_zip", since = "1.59.0")]
5858
pub use self::zip::zip;
5959

6060
/// This trait provides transitive access to source-stage in an iterator-adapter pipeline

library/core/src/iter/adapters/zip.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ impl<A: Iterator, B: Iterator> Zip<A, B> {
4040
/// # Examples
4141
///
4242
/// ```
43-
/// #![feature(iter_zip)]
4443
/// use std::iter::zip;
4544
///
4645
/// let xs = [1, 2, 3];
@@ -63,7 +62,7 @@ impl<A: Iterator, B: Iterator> Zip<A, B> {
6362
/// assert_eq!(iter.next().unwrap(), ((3, 6), 9));
6463
/// assert!(iter.next().is_none());
6564
/// ```
66-
#[unstable(feature = "iter_zip", issue = "83574")]
65+
#[stable(feature = "iter_zip", since = "1.59.0")]
6766
pub fn zip<A, B>(a: A, b: B) -> Zip<A::IntoIter, B::IntoIter>
6867
where
6968
A: IntoIterator,

library/core/src/iter/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ pub use self::traits::{
391391
DoubleEndedIterator, ExactSizeIterator, Extend, FromIterator, IntoIterator, Product, Sum,
392392
};
393393

394-
#[unstable(feature = "iter_zip", issue = "83574")]
394+
#[stable(feature = "iter_zip", since = "1.59.0")]
395395
pub use self::adapters::zip;
396396
#[stable(feature = "iter_cloned", since = "1.1.0")]
397397
pub use self::adapters::Cloned;

library/std/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,6 @@
292292
#![feature(int_log)]
293293
#![feature(into_future)]
294294
#![feature(intra_doc_pointers)]
295-
#![feature(iter_zip)]
296295
#![feature(lang_items)]
297296
#![feature(linkage)]
298297
#![feature(llvm_asm)]

src/tools/clippy/clippy_lints/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#![feature(box_patterns)]
44
#![feature(drain_filter)]
55
#![feature(in_band_lifetimes)]
6-
#![feature(iter_zip)]
76
#![feature(once_cell)]
87
#![feature(rustc_private)]
98
#![feature(stmt_expr_attributes)]

src/tools/clippy/clippy_utils/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#![feature(box_patterns)]
22
#![feature(in_band_lifetimes)]
3-
#![feature(iter_zip)]
43
#![feature(let_else)]
54
#![feature(rustc_private)]
65
#![feature(control_flow_enum)]

0 commit comments

Comments
 (0)