Skip to content

Commit dbed18c

Browse files
committed
Remove unused Add bounds in iterator for ranges impls.
1 parent 4b6af97 commit dbed18c

File tree

2 files changed

+8
-24
lines changed

2 files changed

+8
-24
lines changed

src/libcore/iter/range.rs

+8-23
Original file line numberDiff line numberDiff line change
@@ -277,9 +277,7 @@ macro_rules! range_incl_trusted_len_impl {
277277
}
278278

279279
#[stable(feature = "rust1", since = "1.0.0")]
280-
impl<A: Step> Iterator for ops::Range<A> where
281-
for<'a> &'a A: Add<&'a A, Output = A>
282-
{
280+
impl<A: Step> Iterator for ops::Range<A> {
283281
type Item = A;
284282

285283
#[inline]
@@ -317,10 +315,7 @@ range_trusted_len_impl!(usize isize u8 i8 u16 i16 u32 i32 i64 u64);
317315
range_incl_trusted_len_impl!(usize isize u8 i8 u16 i16 u32 i32 i64 u64);
318316

319317
#[stable(feature = "rust1", since = "1.0.0")]
320-
impl<A: Step + Clone> DoubleEndedIterator for ops::Range<A> where
321-
for<'a> &'a A: Add<&'a A, Output = A>,
322-
for<'a> &'a A: Sub<&'a A, Output = A>
323-
{
318+
impl<A: Step + Clone> DoubleEndedIterator for ops::Range<A> {
324319
#[inline]
325320
fn next_back(&mut self) -> Option<A> {
326321
if self.start < self.end {
@@ -333,13 +328,10 @@ impl<A: Step + Clone> DoubleEndedIterator for ops::Range<A> where
333328
}
334329

335330
#[unstable(feature = "fused", issue = "35602")]
336-
impl<A> FusedIterator for ops::Range<A>
337-
where A: Step, for<'a> &'a A: Add<&'a A, Output = A> {}
331+
impl<A: Step> FusedIterator for ops::Range<A> {}
338332

339333
#[stable(feature = "rust1", since = "1.0.0")]
340-
impl<A: Step> Iterator for ops::RangeFrom<A> where
341-
for<'a> &'a A: Add<&'a A, Output = A>
342-
{
334+
impl<A: Step> Iterator for ops::RangeFrom<A> {
343335
type Item = A;
344336

345337
#[inline]
@@ -356,13 +348,10 @@ impl<A: Step> Iterator for ops::RangeFrom<A> where
356348
}
357349

358350
#[unstable(feature = "fused", issue = "35602")]
359-
impl<A> FusedIterator for ops::RangeFrom<A>
360-
where A: Step, for<'a> &'a A: Add<&'a A, Output = A> {}
351+
impl<A: Step> FusedIterator for ops::RangeFrom<A> {}
361352

362353
#[unstable(feature = "inclusive_range", reason = "recently added, follows RFC", issue = "28237")]
363-
impl<A: Step> Iterator for ops::RangeInclusive<A> where
364-
for<'a> &'a A: Add<&'a A, Output = A>
365-
{
354+
impl<A: Step> Iterator for ops::RangeInclusive<A> {
366355
type Item = A;
367356

368357
#[inline]
@@ -397,10 +386,7 @@ impl<A: Step> Iterator for ops::RangeInclusive<A> where
397386
}
398387

399388
#[unstable(feature = "inclusive_range", reason = "recently added, follows RFC", issue = "28237")]
400-
impl<A: Step> DoubleEndedIterator for ops::RangeInclusive<A> where
401-
for<'a> &'a A: Add<&'a A, Output = A>,
402-
for<'a> &'a A: Sub<&'a A, Output = A>
403-
{
389+
impl<A: Step> DoubleEndedIterator for ops::RangeInclusive<A> {
404390
#[inline]
405391
fn next_back(&mut self) -> Option<A> {
406392
use cmp::Ordering::*;
@@ -421,5 +407,4 @@ impl<A: Step> DoubleEndedIterator for ops::RangeInclusive<A> where
421407
}
422408

423409
#[unstable(feature = "fused", issue = "35602")]
424-
impl<A> FusedIterator for ops::RangeInclusive<A>
425-
where A: Step, for<'a> &'a A: Add<&'a A, Output = A> {}
410+
impl<A: Step> FusedIterator for ops::RangeInclusive<A> {}

src/test/compile-fail/range-1.rs

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ pub fn main() {
1818
// Bool => does not implement iterator.
1919
for i in false..true {}
2020
//~^ ERROR `bool: std::iter::Step` is not satisfied
21-
//~^^ ERROR `for<'a> &'a bool: std::ops::Add` is not satisfied
2221

2322
// Unsized type.
2423
let arr: &[_] = &[1, 2, 3];

0 commit comments

Comments
 (0)