From 8a22bc3b30e81568db25cf57aa9e7629bfa449c7 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Wed, 22 May 2019 14:09:34 -0700 Subject: [PATCH] Revert "Add implementations of last in terms of next_back on a bunch of DoubleEndedIterators." This reverts commit 3e86cf36b5114f201868bf459934fe346a76a2d4. --- src/liballoc/collections/binary_heap.rs | 15 ---------- src/liballoc/collections/btree/map.rs | 40 ------------------------- src/liballoc/collections/btree/set.rs | 15 ---------- src/liballoc/string.rs | 4 --- src/liballoc/vec.rs | 14 --------- src/libcore/ascii.rs | 2 -- src/libcore/iter/adapters/mod.rs | 5 ---- src/libcore/slice/mod.rs | 20 ------------- src/libcore/str/mod.rs | 20 ------------- src/libstd/env.rs | 6 ---- src/libstd/path.rs | 10 ------- src/libstd/sys/unix/args.rs | 2 -- src/libstd/sys/wasm/args.rs | 4 --- src/libstd/sys/windows/args.rs | 2 -- 14 files changed, 159 deletions(-) diff --git a/src/liballoc/collections/binary_heap.rs b/src/liballoc/collections/binary_heap.rs index c5a0b6e877b65..c898f064fd09f 100644 --- a/src/liballoc/collections/binary_heap.rs +++ b/src/liballoc/collections/binary_heap.rs @@ -1035,11 +1035,6 @@ impl<'a, T> Iterator for Iter<'a, T> { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - - #[inline] - fn last(mut self) -> Option<&'a T> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1095,11 +1090,6 @@ impl Iterator for IntoIter { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1146,11 +1136,6 @@ impl Iterator for Drain<'_, T> { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "drain", since = "1.6.0")] diff --git a/src/liballoc/collections/btree/map.rs b/src/liballoc/collections/btree/map.rs index 414abb00ef1fa..6b079fc87cc78 100644 --- a/src/liballoc/collections/btree/map.rs +++ b/src/liballoc/collections/btree/map.rs @@ -1193,11 +1193,6 @@ impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V> { fn size_hint(&self) -> (usize, Option) { (self.length, Some(self.length)) } - - #[inline] - fn last(mut self) -> Option<(&'a K, &'a V)> { - self.next_back() - } } #[stable(feature = "fused", since = "1.26.0")] @@ -1258,11 +1253,6 @@ impl<'a, K: 'a, V: 'a> Iterator for IterMut<'a, K, V> { fn size_hint(&self) -> (usize, Option) { (self.length, Some(self.length)) } - - #[inline] - fn last(mut self) -> Option<(&'a K, &'a mut V)> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1369,11 +1359,6 @@ impl Iterator for IntoIter { fn size_hint(&self) -> (usize, Option) { (self.length, Some(self.length)) } - - #[inline] - fn last(mut self) -> Option<(K, V)> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1436,11 +1421,6 @@ impl<'a, K, V> Iterator for Keys<'a, K, V> { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option<&'a K> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1478,11 +1458,6 @@ impl<'a, K, V> Iterator for Values<'a, K, V> { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option<&'a V> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1520,11 +1495,6 @@ impl<'a, K, V> Iterator for Range<'a, K, V> { unsafe { Some(self.next_unchecked()) } } } - - #[inline] - fn last(mut self) -> Option<(&'a K, &'a V)> { - self.next_back() - } } #[stable(feature = "map_values_mut", since = "1.10.0")] @@ -1538,11 +1508,6 @@ impl<'a, K, V> Iterator for ValuesMut<'a, K, V> { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option<&'a mut V> { - self.next_back() - } } #[stable(feature = "map_values_mut", since = "1.10.0")] @@ -1661,11 +1626,6 @@ impl<'a, K, V> Iterator for RangeMut<'a, K, V> { unsafe { Some(self.next_unchecked()) } } } - - #[inline] - fn last(mut self) -> Option<(&'a K, &'a mut V)> { - self.next_back() - } } impl<'a, K, V> RangeMut<'a, K, V> { diff --git a/src/liballoc/collections/btree/set.rs b/src/liballoc/collections/btree/set.rs index 6f2467dfd6b51..16a96ca19b824 100644 --- a/src/liballoc/collections/btree/set.rs +++ b/src/liballoc/collections/btree/set.rs @@ -1019,11 +1019,6 @@ impl<'a, T> Iterator for Iter<'a, T> { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - - #[inline] - fn last(mut self) -> Option<&'a T> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] impl<'a, T> DoubleEndedIterator for Iter<'a, T> { @@ -1049,11 +1044,6 @@ impl Iterator for IntoIter { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] impl DoubleEndedIterator for IntoIter { @@ -1083,11 +1073,6 @@ impl<'a, T> Iterator for Range<'a, T> { fn next(&mut self) -> Option<&'a T> { self.iter.next().map(|(k, _)| k) } - - #[inline] - fn last(mut self) -> Option<&'a T> { - self.next_back() - } } #[stable(feature = "btree_range", since = "1.17.0")] diff --git a/src/liballoc/string.rs b/src/liballoc/string.rs index e74d37c1c2bae..7f7722548f581 100644 --- a/src/liballoc/string.rs +++ b/src/liballoc/string.rs @@ -2385,10 +2385,6 @@ impl Iterator for Drain<'_> { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "drain", since = "1.6.0")] diff --git a/src/liballoc/vec.rs b/src/liballoc/vec.rs index c0cdffe596bab..073d3ab593703 100644 --- a/src/liballoc/vec.rs +++ b/src/liballoc/vec.rs @@ -2395,11 +2395,6 @@ impl Iterator for IntoIter { fn count(self) -> usize { self.len() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -2519,11 +2514,6 @@ impl Iterator for Drain<'_, T> { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "drain", since = "1.6.0")] @@ -2593,10 +2583,6 @@ impl Iterator for Splice<'_, I> { fn size_hint(&self) -> (usize, Option) { self.drain.size_hint() } - - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "vec_splice", since = "1.21.0")] diff --git a/src/libcore/ascii.rs b/src/libcore/ascii.rs index ddee02ea232d1..c0ab364380fbd 100644 --- a/src/libcore/ascii.rs +++ b/src/libcore/ascii.rs @@ -117,8 +117,6 @@ impl Iterator for EscapeDefault { type Item = u8; fn next(&mut self) -> Option { self.range.next().map(|i| self.data[i]) } fn size_hint(&self) -> (usize, Option) { self.range.size_hint() } - #[inline] - fn last(mut self) -> Option { self.next_back() } } #[stable(feature = "rust1", since = "1.0.0")] impl DoubleEndedIterator for EscapeDefault { diff --git a/src/libcore/iter/adapters/mod.rs b/src/libcore/iter/adapters/mod.rs index 64e588f65b468..518442efe7417 100644 --- a/src/libcore/iter/adapters/mod.rs +++ b/src/libcore/iter/adapters/mod.rs @@ -73,11 +73,6 @@ impl Iterator for Rev where I: DoubleEndedIterator { { self.iter.position(predicate) } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] diff --git a/src/libcore/slice/mod.rs b/src/libcore/slice/mod.rs index d06d107d32a41..50d2ba0d3ef7f 100644 --- a/src/libcore/slice/mod.rs +++ b/src/libcore/slice/mod.rs @@ -3547,11 +3547,6 @@ impl<'a, T, P> Iterator for Split<'a, T, P> where P: FnMut(&T) -> bool { (1, Some(self.v.len() + 1)) } } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -3650,11 +3645,6 @@ impl<'a, T, P> Iterator for SplitMut<'a, T, P> where P: FnMut(&T) -> bool { (1, Some(self.v.len() + 1)) } } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -3720,11 +3710,6 @@ impl<'a, T, P> Iterator for RSplit<'a, T, P> where P: FnMut(&T) -> bool { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "slice_rsplit", since = "1.27.0")] @@ -3789,11 +3774,6 @@ impl<'a, T, P> Iterator for RSplitMut<'a, T, P> where P: FnMut(&T) -> bool { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "slice_rsplit", since = "1.27.0")] diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs index 0e8a2da3c110d..ef4bd83cbc5a6 100644 --- a/src/libcore/str/mod.rs +++ b/src/libcore/str/mod.rs @@ -1333,11 +1333,6 @@ impl<'a> Iterator for Lines<'a> { fn size_hint(&self) -> (usize, Option) { self.0.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -1384,11 +1379,6 @@ impl<'a> Iterator for LinesAny<'a> { fn size_hint(&self) -> (usize, Option) { self.0.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -4231,11 +4221,6 @@ impl<'a> Iterator for SplitWhitespace<'a> { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "split_whitespace", since = "1.1.0")] @@ -4262,11 +4247,6 @@ impl<'a> Iterator for SplitAsciiWhitespace<'a> { fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "split_ascii_whitespace", since = "1.34.0")] diff --git a/src/libstd/env.rs b/src/libstd/env.rs index 260624a8bd859..9058ea93d6de0 100644 --- a/src/libstd/env.rs +++ b/src/libstd/env.rs @@ -746,10 +746,6 @@ impl Iterator for Args { self.inner.next().map(|s| s.into_string().unwrap()) } fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "env", since = "1.0.0")] @@ -785,8 +781,6 @@ impl Iterator for ArgsOs { type Item = OsString; fn next(&mut self) -> Option { self.inner.next() } fn size_hint(&self) -> (usize, Option) { self.inner.size_hint() } - #[inline] - fn last(mut self) -> Option { self.next_back() } } #[stable(feature = "env", since = "1.0.0")] diff --git a/src/libstd/path.rs b/src/libstd/path.rs index 59f9e439add24..126bc3754dabc 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -888,11 +888,6 @@ impl<'a> Iterator for Iter<'a> { fn next(&mut self) -> Option<&'a OsStr> { self.inner.next().map(Component::as_os_str) } - - #[inline] - fn last(mut self) -> Option<&'a OsStr> { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] @@ -956,11 +951,6 @@ impl<'a> Iterator for Components<'a> { } None } - - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } #[stable(feature = "rust1", since = "1.0.0")] diff --git a/src/libstd/sys/unix/args.rs b/src/libstd/sys/unix/args.rs index 6ba947d4598b1..3b4de56f2c9b7 100644 --- a/src/libstd/sys/unix/args.rs +++ b/src/libstd/sys/unix/args.rs @@ -35,8 +35,6 @@ impl Iterator for Args { type Item = OsString; fn next(&mut self) -> Option { self.iter.next() } fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - #[inline] - fn last(mut self) -> Option { self.next_back() } } impl ExactSizeIterator for Args { diff --git a/src/libstd/sys/wasm/args.rs b/src/libstd/sys/wasm/args.rs index 6766099c1ece1..b3c77b8699563 100644 --- a/src/libstd/sys/wasm/args.rs +++ b/src/libstd/sys/wasm/args.rs @@ -37,10 +37,6 @@ impl Iterator for Args { fn size_hint(&self) -> (usize, Option) { self.iter.size_hint() } - #[inline] - fn last(mut self) -> Option { - self.next_back() - } } impl ExactSizeIterator for Args { diff --git a/src/libstd/sys/windows/args.rs b/src/libstd/sys/windows/args.rs index 744d7ec59d3a3..b04bb484eedb9 100644 --- a/src/libstd/sys/windows/args.rs +++ b/src/libstd/sys/windows/args.rs @@ -181,8 +181,6 @@ impl Iterator for Args { type Item = OsString; fn next(&mut self) -> Option { self.parsed_args_list.next() } fn size_hint(&self) -> (usize, Option) { self.parsed_args_list.size_hint() } - #[inline] - fn last(mut self) -> Option { self.next_back() } } impl DoubleEndedIterator for Args {