diff options
| author | Ilija Tovilo <ilija.tovilo@me.com> | 2019-07-31 21:00:35 +0200 |
|---|---|---|
| committer | Ilija Tovilo <ilija.tovilo@me.com> | 2019-08-08 22:39:15 +0200 |
| commit | 3a6a29b4ecfdb7f641ca699fcd66a09b4baaae6a (patch) | |
| tree | 9d577f11fb6f00c835bf70b13d8a90e7934719e1 /src/libcore/iter/adapters | |
| parent | d4abb08be6c3a06a14e285396f5e3ef367584f77 (diff) | |
Use associated_type_bounds where applicable - closes #61738
Diffstat (limited to 'src/libcore/iter/adapters')
| -rw-r--r-- | src/libcore/iter/adapters/flatten.rs | 61 |
1 files changed, 37 insertions, 24 deletions
diff --git a/src/libcore/iter/adapters/flatten.rs b/src/libcore/iter/adapters/flatten.rs index 8c2aae477bf..d8d41a2a31e 100644 --- a/src/libcore/iter/adapters/flatten.rs +++ b/src/libcore/iter/adapters/flatten.rs @@ -24,15 +24,17 @@ impl<I: Iterator, U: IntoIterator, F: FnMut(I::Item) -> U> FlatMap<I, U, F> { } #[stable(feature = "rust1", since = "1.0.0")] -impl<I: Clone, U: Clone + IntoIterator, F: Clone> Clone for FlatMap<I, U, F> - where <U as IntoIterator>::IntoIter: Clone +impl<I: Clone, U, F: Clone> Clone for FlatMap<I, U, F> +where + U: Clone + IntoIterator<IntoIter: Clone>, { fn clone(&self) -> Self { FlatMap { inner: self.inner.clone() } } } #[stable(feature = "core_impl_debug", since = "1.9.0")] -impl<I: fmt::Debug, U: IntoIterator, F> fmt::Debug for FlatMap<I, U, F> - where U::IntoIter: fmt::Debug +impl<I: fmt::Debug, U, F> fmt::Debug for FlatMap<I, U, F> +where + U: IntoIterator<IntoIter: fmt::Debug>, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_struct("FlatMap").field("inner", &self.inner).finish() @@ -68,9 +70,10 @@ impl<I: Iterator, U: IntoIterator, F> Iterator for FlatMap<I, U, F> #[stable(feature = "rust1", since = "1.0.0")] impl<I: DoubleEndedIterator, U, F> DoubleEndedIterator for FlatMap<I, U, F> - where F: FnMut(I::Item) -> U, - U: IntoIterator, - U::IntoIter: DoubleEndedIterator +where + F: FnMut(I::Item) -> U, + U: IntoIterator, + U::IntoIter: DoubleEndedIterator, { #[inline] fn next_back(&mut self) -> Option<U::Item> { self.inner.next_back() } @@ -105,11 +108,13 @@ impl<I, U, F> FusedIterator for FlatMap<I, U, F> #[must_use = "iterators are lazy and do nothing unless consumed"] #[stable(feature = "iterator_flatten", since = "1.29.0")] pub struct Flatten<I: Iterator> -where I::Item: IntoIterator { +where + I::Item: IntoIterator, +{ inner: FlattenCompat<I, <I::Item as IntoIterator>::IntoIter>, } -impl<I: Iterator> Flatten<I> -where I::Item: IntoIterator { + +impl<I: Iterator<Item: IntoIterator>> Flatten<I> { pub(in super::super) fn new(iter: I) -> Flatten<I> { Flatten { inner: FlattenCompat::new(iter) } } @@ -117,8 +122,9 @@ where I::Item: IntoIterator { #[stable(feature = "iterator_flatten", since = "1.29.0")] impl<I, U> fmt::Debug for Flatten<I> - where I: Iterator + fmt::Debug, U: Iterator + fmt::Debug, - I::Item: IntoIterator<IntoIter = U, Item = U::Item>, +where + I: fmt::Debug + Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: fmt::Debug + Iterator, { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_struct("Flatten").field("inner", &self.inner).finish() @@ -127,16 +133,18 @@ impl<I, U> fmt::Debug for Flatten<I> #[stable(feature = "iterator_flatten", since = "1.29.0")] impl<I, U> Clone for Flatten<I> - where I: Iterator + Clone, U: Iterator + Clone, - I::Item: IntoIterator<IntoIter = U, Item = U::Item>, +where + I: Clone + Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: Clone + Iterator, { fn clone(&self) -> Self { Flatten { inner: self.inner.clone() } } } #[stable(feature = "iterator_flatten", since = "1.29.0")] impl<I, U> Iterator for Flatten<I> - where I: Iterator, U: Iterator, - I::Item: IntoIterator<IntoIter = U, Item = U::Item> +where + I: Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: Iterator, { type Item = U::Item; @@ -163,8 +171,9 @@ impl<I, U> Iterator for Flatten<I> #[stable(feature = "iterator_flatten", since = "1.29.0")] impl<I, U> DoubleEndedIterator for Flatten<I> - where I: DoubleEndedIterator, U: DoubleEndedIterator, - I::Item: IntoIterator<IntoIter = U, Item = U::Item> +where + I: DoubleEndedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: DoubleEndedIterator, { #[inline] fn next_back(&mut self) -> Option<U::Item> { self.inner.next_back() } @@ -186,8 +195,10 @@ impl<I, U> DoubleEndedIterator for Flatten<I> #[stable(feature = "iterator_flatten", since = "1.29.0")] impl<I, U> FusedIterator for Flatten<I> - where I: FusedIterator, U: Iterator, - I::Item: IntoIterator<IntoIter = U, Item = U::Item> {} +where + I: FusedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: Iterator, +{} /// Real logic of both `Flatten` and `FlatMap` which simply delegate to /// this type. @@ -205,8 +216,9 @@ impl<I, U> FlattenCompat<I, U> { } impl<I, U> Iterator for FlattenCompat<I, U> - where I: Iterator, U: Iterator, - I::Item: IntoIterator<IntoIter = U, Item = U::Item> +where + I: Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: Iterator, { type Item = U::Item; @@ -274,8 +286,9 @@ impl<I, U> Iterator for FlattenCompat<I, U> } impl<I, U> DoubleEndedIterator for FlattenCompat<I, U> - where I: DoubleEndedIterator, U: DoubleEndedIterator, - I::Item: IntoIterator<IntoIter = U, Item = U::Item> +where + I: DoubleEndedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, + U: DoubleEndedIterator, { #[inline] fn next_back(&mut self) -> Option<U::Item> { |
