Skip to content

Commit 1b7dd22

Browse files
committed
Auto merge of #110414 - pietroalbini:pa-1.70.0-beta, r=Mark-Simulacrum
[beta] Prepare Rust 1.70.0 This PR replaces the version placeholders, and changes the channel to `beta`. r? `@ghost` cc `@rust-lang/release`
2 parents ce1073b + 988610a commit 1b7dd22

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+165
-113
lines changed

compiler/rustc_feature/src/accepted.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ declare_features! (
239239
/// Allows using `Self` and associated types in struct expressions and patterns.
240240
(accepted, more_struct_aliases, "1.16.0", Some(37544), None),
241241
/// Allows using the MOVBE target feature.
242-
(accepted, movbe_target_feature, "CURRENT_RUSTC_VERSION", Some(44839), None),
242+
(accepted, movbe_target_feature, "1.70.0", Some(44839), None),
243243
/// Allows patterns with concurrent by-move and by-ref bindings.
244244
/// For example, you can write `Foo(a, ref b)` where `a` is by-move and `b` is by-ref.
245245
(accepted, move_ref_pattern, "1.49.0", Some(68354), None),

compiler/rustc_feature/src/active.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ declare_features! (
417417
/// Allows `if let` guard in match arms.
418418
(active, if_let_guard, "1.47.0", Some(51114), None),
419419
/// Allows `impl Trait` to be used inside associated types (RFC 2515).
420-
(active, impl_trait_in_assoc_type, "CURRENT_RUSTC_VERSION", Some(63063), None),
420+
(active, impl_trait_in_assoc_type, "1.70.0", Some(63063), None),
421421
/// Allows `impl Trait` as output type in `Fn` traits in return position of functions.
422422
(active, impl_trait_in_fn_trait_return, "1.64.0", Some(99697), None),
423423
/// Allows referencing `Self` and projections in impl-trait.
@@ -498,7 +498,7 @@ declare_features! (
498498
/// Allows return-position `impl Trait` in traits.
499499
(incomplete, return_position_impl_trait_in_trait, "1.65.0", Some(91611), None),
500500
/// Allows bounding the return type of AFIT/RPITIT.
501-
(incomplete, return_type_notation, "CURRENT_RUSTC_VERSION", Some(109417), None),
501+
(incomplete, return_type_notation, "1.70.0", Some(109417), None),
502502
/// Allows `extern "rust-cold"`.
503503
(active, rust_cold_cc, "1.63.0", Some(97544), None),
504504
/// Allows the use of SIMD types in functions declared in `extern` blocks.
@@ -521,7 +521,7 @@ declare_features! (
521521
/// Dyn upcasting is casting, e.g., `dyn Foo -> dyn Bar` where `Foo: Bar`.
522522
(active, trait_upcasting, "1.56.0", Some(65991), None),
523523
/// Allows for transmuting between arrays with sizes that contain generic consts.
524-
(active, transmute_generic_consts, "CURRENT_RUSTC_VERSION", Some(109929), None),
524+
(active, transmute_generic_consts, "1.70.0", Some(109929), None),
525525
/// Allows #[repr(transparent)] on unions (RFC 2645).
526526
(active, transparent_unions, "1.37.0", Some(60405), None),
527527
/// Allows inconsistent bounds in where clauses.

compiler/rustc_feature/src/removed.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ declare_features! (
5353
(removed, await_macro, "1.38.0", Some(50547), None,
5454
Some("subsumed by `.await` syntax")),
5555
/// Allows using the `box $expr` syntax.
56-
(removed, box_syntax, "CURRENT_RUSTC_VERSION", Some(49733), None, Some("replaced with `#[rustc_box]`")),
56+
(removed, box_syntax, "1.70.0", Some(49733), None, Some("replaced with `#[rustc_box]`")),
5757
/// Allows capturing disjoint fields in a closure/generator (RFC 2229).
5858
(removed, capture_disjoint_fields, "1.49.0", Some(53488), None, Some("stabilized in Rust 2021")),
5959
/// Allows comparing raw pointers during const eval.

library/alloc/src/collections/binary_heap/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ impl<T: Ord> BinaryHeap<T> {
853853
///
854854
/// assert_eq!(heap.into_sorted_vec(), [-10, 2, 4])
855855
/// ```
856-
#[stable(feature = "binary_heap_retain", since = "CURRENT_RUSTC_VERSION")]
856+
#[stable(feature = "binary_heap_retain", since = "1.70.0")]
857857
pub fn retain<F>(&mut self, mut f: F)
858858
where
859859
F: FnMut(&T) -> bool,
@@ -1463,7 +1463,7 @@ impl<T> ExactSizeIterator for IntoIter<T> {
14631463
#[stable(feature = "fused", since = "1.26.0")]
14641464
impl<T> FusedIterator for IntoIter<T> {}
14651465

1466-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1466+
#[stable(feature = "default_iters", since = "1.70.0")]
14671467
impl<T> Default for IntoIter<T> {
14681468
/// Creates an empty `binary_heap::IntoIter`.
14691469
///

library/alloc/src/collections/btree/map.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ impl<K: fmt::Debug, V: fmt::Debug> fmt::Debug for Iter<'_, K, V> {
362362
}
363363
}
364364

365-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
365+
#[stable(feature = "default_iters", since = "1.70.0")]
366366
impl<'a, K: 'a, V: 'a> Default for Iter<'a, K, V> {
367367
/// Creates an empty `btree_map::Iter`.
368368
///
@@ -400,7 +400,7 @@ impl<K: fmt::Debug, V: fmt::Debug> fmt::Debug for IterMut<'_, K, V> {
400400
}
401401
}
402402

403-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
403+
#[stable(feature = "default_iters", since = "1.70.0")]
404404
impl<'a, K: 'a, V: 'a> Default for IterMut<'a, K, V> {
405405
/// Creates an empty `btree_map::IterMut`.
406406
///
@@ -448,7 +448,7 @@ impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for IntoIter<K, V, A> {
448448
}
449449
}
450450

451-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
451+
#[stable(feature = "default_iters", since = "1.70.0")]
452452
impl<K, V, A> Default for IntoIter<K, V, A>
453453
where
454454
A: Allocator + Default + Clone,
@@ -1812,7 +1812,7 @@ impl<K, V> Clone for Keys<'_, K, V> {
18121812
}
18131813
}
18141814

1815-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1815+
#[stable(feature = "default_iters", since = "1.70.0")]
18161816
impl<K, V> Default for Keys<'_, K, V> {
18171817
/// Creates an empty `btree_map::Keys`.
18181818
///
@@ -1867,7 +1867,7 @@ impl<K, V> Clone for Values<'_, K, V> {
18671867
}
18681868
}
18691869

1870-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1870+
#[stable(feature = "default_iters", since = "1.70.0")]
18711871
impl<K, V> Default for Values<'_, K, V> {
18721872
/// Creates an empty `btree_map::Values`.
18731873
///
@@ -2017,7 +2017,7 @@ impl<'a, K, V> Iterator for Range<'a, K, V> {
20172017
}
20182018
}
20192019

2020-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
2020+
#[stable(feature = "default_iters", since = "1.70.0")]
20212021
impl<K, V> Default for Range<'_, K, V> {
20222022
/// Creates an empty `btree_map::Range`.
20232023
///
@@ -2107,7 +2107,7 @@ impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoKeys<K, V, A> {
21072107
#[stable(feature = "map_into_keys_values", since = "1.54.0")]
21082108
impl<K, V, A: Allocator + Clone> FusedIterator for IntoKeys<K, V, A> {}
21092109

2110-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
2110+
#[stable(feature = "default_iters", since = "1.70.0")]
21112111
impl<K, V, A> Default for IntoKeys<K, V, A>
21122112
where
21132113
A: Allocator + Default + Clone,
@@ -2158,7 +2158,7 @@ impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoValues<K, V, A> {
21582158
#[stable(feature = "map_into_keys_values", since = "1.54.0")]
21592159
impl<K, V, A: Allocator + Clone> FusedIterator for IntoValues<K, V, A> {}
21602160

2161-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
2161+
#[stable(feature = "default_iters", since = "1.70.0")]
21622162
impl<K, V, A> Default for IntoValues<K, V, A>
21632163
where
21642164
A: Allocator + Default + Clone,

library/alloc/src/collections/btree/set.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1538,7 +1538,7 @@ impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A> {
15381538
}
15391539
}
15401540

1541-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1541+
#[stable(feature = "default_iters", since = "1.70.0")]
15421542
impl<T> Default for Iter<'_, T> {
15431543
/// Creates an empty `btree_set::Iter`.
15441544
///
@@ -1568,7 +1568,7 @@ impl<T, A: Allocator + Clone> ExactSizeIterator for IntoIter<T, A> {
15681568
#[stable(feature = "fused", since = "1.26.0")]
15691569
impl<T, A: Allocator + Clone> FusedIterator for IntoIter<T, A> {}
15701570

1571-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1571+
#[stable(feature = "default_iters", since = "1.70.0")]
15721572
impl<T, A> Default for IntoIter<T, A>
15731573
where
15741574
A: Allocator + Default + Clone,
@@ -1623,7 +1623,7 @@ impl<'a, T> DoubleEndedIterator for Range<'a, T> {
16231623
#[stable(feature = "fused", since = "1.26.0")]
16241624
impl<T> FusedIterator for Range<'_, T> {}
16251625

1626-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1626+
#[stable(feature = "default_iters", since = "1.70.0")]
16271627
impl<T> Default for Range<'_, T> {
16281628
/// Creates an empty `btree_set::Range`.
16291629
///

library/alloc/src/collections/linked_list.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1074,7 +1074,7 @@ impl<T> ExactSizeIterator for Iter<'_, T> {}
10741074
#[stable(feature = "fused", since = "1.26.0")]
10751075
impl<T> FusedIterator for Iter<'_, T> {}
10761076

1077-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1077+
#[stable(feature = "default_iters", since = "1.70.0")]
10781078
impl<T> Default for Iter<'_, T> {
10791079
/// Creates an empty `linked_list::Iter`.
10801080
///
@@ -1142,7 +1142,7 @@ impl<T> ExactSizeIterator for IterMut<'_, T> {}
11421142
#[stable(feature = "fused", since = "1.26.0")]
11431143
impl<T> FusedIterator for IterMut<'_, T> {}
11441144

1145-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1145+
#[stable(feature = "default_iters", since = "1.70.0")]
11461146
impl<T> Default for IterMut<'_, T> {
11471147
fn default() -> Self {
11481148
IterMut { head: None, tail: None, len: 0, marker: Default::default() }
@@ -1828,7 +1828,7 @@ impl<T> ExactSizeIterator for IntoIter<T> {}
18281828
#[stable(feature = "fused", since = "1.26.0")]
18291829
impl<T> FusedIterator for IntoIter<T> {}
18301830

1831-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
1831+
#[stable(feature = "default_iters", since = "1.70.0")]
18321832
impl<T> Default for IntoIter<T> {
18331833
/// Creates an empty `linked_list::IntoIter`.
18341834
///

library/alloc/src/rc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ impl<T> Rc<T> {
693693
/// This is equivalent to `Rc::try_unwrap(this).ok()`. (Note that these are not equivalent for
694694
/// [`Arc`](crate::sync::Arc), due to race conditions that do not apply to `Rc`.)
695695
#[inline]
696-
#[stable(feature = "rc_into_inner", since = "CURRENT_RUSTC_VERSION")]
696+
#[stable(feature = "rc_into_inner", since = "1.70.0")]
697697
pub fn into_inner(this: Self) -> Option<T> {
698698
Rc::try_unwrap(this).ok()
699699
}

library/alloc/src/sync.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,7 @@ impl<T> Arc<T> {
793793
/// y_thread.join().unwrap();
794794
/// ```
795795
#[inline]
796-
#[stable(feature = "arc_into_inner", since = "CURRENT_RUSTC_VERSION")]
796+
#[stable(feature = "arc_into_inner", since = "1.70.0")]
797797
pub fn into_inner(this: Self) -> Option<T> {
798798
// Make sure that the ordinary `Drop` implementation isn’t called as well
799799
let mut this = mem::ManuallyDrop::new(this);

library/alloc/src/vec/into_iter.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ impl<T, A: Allocator> FusedIterator for IntoIter<T, A> {}
342342
#[unstable(feature = "trusted_len", issue = "37572")]
343343
unsafe impl<T, A: Allocator> TrustedLen for IntoIter<T, A> {}
344344

345-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
345+
#[stable(feature = "default_iters", since = "1.70.0")]
346346
impl<T, A> Default for IntoIter<T, A>
347347
where
348348
A: Allocator + Default,

library/core/src/cell.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ mod once;
247247

248248
#[unstable(feature = "lazy_cell", issue = "109736")]
249249
pub use lazy::LazyCell;
250-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
250+
#[stable(feature = "once_cell", since = "1.70.0")]
251251
pub use once::OnceCell;
252252

253253
/// A mutable memory location.

library/core/src/cell/once.rs

+16-16
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use crate::mem;
2929
/// assert_eq!(value, "Hello, World!");
3030
/// assert!(cell.get().is_some());
3131
/// ```
32-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
32+
#[stable(feature = "once_cell", since = "1.70.0")]
3333
pub struct OnceCell<T> {
3434
// Invariant: written to at most once.
3535
inner: UnsafeCell<Option<T>>,
@@ -39,8 +39,8 @@ impl<T> OnceCell<T> {
3939
/// Creates a new empty cell.
4040
#[inline]
4141
#[must_use]
42-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
43-
#[rustc_const_stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
42+
#[stable(feature = "once_cell", since = "1.70.0")]
43+
#[rustc_const_stable(feature = "once_cell", since = "1.70.0")]
4444
pub const fn new() -> OnceCell<T> {
4545
OnceCell { inner: UnsafeCell::new(None) }
4646
}
@@ -49,7 +49,7 @@ impl<T> OnceCell<T> {
4949
///
5050
/// Returns `None` if the cell is empty.
5151
#[inline]
52-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
52+
#[stable(feature = "once_cell", since = "1.70.0")]
5353
pub fn get(&self) -> Option<&T> {
5454
// SAFETY: Safe due to `inner`'s invariant
5555
unsafe { &*self.inner.get() }.as_ref()
@@ -59,7 +59,7 @@ impl<T> OnceCell<T> {
5959
///
6060
/// Returns `None` if the cell is empty.
6161
#[inline]
62-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
62+
#[stable(feature = "once_cell", since = "1.70.0")]
6363
pub fn get_mut(&mut self) -> Option<&mut T> {
6464
self.inner.get_mut().as_mut()
6565
}
@@ -85,7 +85,7 @@ impl<T> OnceCell<T> {
8585
/// assert!(cell.get().is_some());
8686
/// ```
8787
#[inline]
88-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
88+
#[stable(feature = "once_cell", since = "1.70.0")]
8989
pub fn set(&self, value: T) -> Result<(), T> {
9090
// SAFETY: Safe because we cannot have overlapping mutable borrows
9191
let slot = unsafe { &*self.inner.get() };
@@ -125,7 +125,7 @@ impl<T> OnceCell<T> {
125125
/// assert_eq!(value, &92);
126126
/// ```
127127
#[inline]
128-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
128+
#[stable(feature = "once_cell", since = "1.70.0")]
129129
pub fn get_or_init<F>(&self, f: F) -> &T
130130
where
131131
F: FnOnce() -> T,
@@ -206,7 +206,7 @@ impl<T> OnceCell<T> {
206206
/// assert_eq!(cell.into_inner(), Some("hello".to_string()));
207207
/// ```
208208
#[inline]
209-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
209+
#[stable(feature = "once_cell", since = "1.70.0")]
210210
pub fn into_inner(self) -> Option<T> {
211211
// Because `into_inner` takes `self` by value, the compiler statically verifies
212212
// that it is not currently borrowed. So it is safe to move out `Option<T>`.
@@ -233,21 +233,21 @@ impl<T> OnceCell<T> {
233233
/// assert_eq!(cell.get(), None);
234234
/// ```
235235
#[inline]
236-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
236+
#[stable(feature = "once_cell", since = "1.70.0")]
237237
pub fn take(&mut self) -> Option<T> {
238238
mem::take(self).into_inner()
239239
}
240240
}
241241

242-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
242+
#[stable(feature = "once_cell", since = "1.70.0")]
243243
impl<T> Default for OnceCell<T> {
244244
#[inline]
245245
fn default() -> Self {
246246
Self::new()
247247
}
248248
}
249249

250-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
250+
#[stable(feature = "once_cell", since = "1.70.0")]
251251
impl<T: fmt::Debug> fmt::Debug for OnceCell<T> {
252252
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
253253
match self.get() {
@@ -257,7 +257,7 @@ impl<T: fmt::Debug> fmt::Debug for OnceCell<T> {
257257
}
258258
}
259259

260-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
260+
#[stable(feature = "once_cell", since = "1.70.0")]
261261
impl<T: Clone> Clone for OnceCell<T> {
262262
#[inline]
263263
fn clone(&self) -> OnceCell<T> {
@@ -272,18 +272,18 @@ impl<T: Clone> Clone for OnceCell<T> {
272272
}
273273
}
274274

275-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
275+
#[stable(feature = "once_cell", since = "1.70.0")]
276276
impl<T: PartialEq> PartialEq for OnceCell<T> {
277277
#[inline]
278278
fn eq(&self, other: &Self) -> bool {
279279
self.get() == other.get()
280280
}
281281
}
282282

283-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
283+
#[stable(feature = "once_cell", since = "1.70.0")]
284284
impl<T: Eq> Eq for OnceCell<T> {}
285285

286-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
286+
#[stable(feature = "once_cell", since = "1.70.0")]
287287
#[rustc_const_unstable(feature = "const_convert", issue = "88674")]
288288
impl<T> const From<T> for OnceCell<T> {
289289
/// Creates a new `OnceCell<T>` which already contains the given `value`.
@@ -294,5 +294,5 @@ impl<T> const From<T> for OnceCell<T> {
294294
}
295295

296296
// Just like for `Cell<T>` this isn't needed, but results in nicer error messages.
297-
#[stable(feature = "once_cell", since = "CURRENT_RUSTC_VERSION")]
297+
#[stable(feature = "once_cell", since = "1.70.0")]
298298
impl<T> !Sync for OnceCell<T> {}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ where
273273
{
274274
}
275275

276-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
276+
#[stable(feature = "default_iters", since = "1.70.0")]
277277
impl<A: Default, B: Default> Default for Chain<A, B> {
278278
/// Creates a `Chain` from the default values for `A` and `B`.
279279
///

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ where
154154
}
155155
}
156156

157-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
157+
#[stable(feature = "default_iters", since = "1.70.0")]
158158
impl<I: Default> Default for Cloned<I> {
159159
/// Creates a `Cloned` iterator from the default value of `I`
160160
/// ```

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ where
242242
}
243243
}
244244

245-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
245+
#[stable(feature = "default_iters", since = "1.70.0")]
246246
impl<I: Default> Default for Copied<I> {
247247
/// Creates a `Copied` iterator from the default value of `I`
248248
/// ```

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ where
263263
#[unstable(issue = "none", feature = "inplace_iteration")]
264264
unsafe impl<I: InPlaceIterable> InPlaceIterable for Enumerate<I> {}
265265

266-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
266+
#[stable(feature = "default_iters", since = "1.70.0")]
267267
impl<I: Default> Default for Enumerate<I> {
268268
/// Creates an `Enumerate` iterator from the default value of `I`
269269
/// ```

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ where
303303
{
304304
}
305305

306-
#[stable(feature = "default_iters", since = "CURRENT_RUSTC_VERSION")]
306+
#[stable(feature = "default_iters", since = "1.70.0")]
307307
impl<I> Default for Flatten<I>
308308
where
309309
I: Default + Iterator<Item: IntoIterator>,

0 commit comments

Comments
 (0)