diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-02-24 21:52:27 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-02-24 22:04:21 -0800 |
| commit | 18878b155ebf3c70445f2a461582475f5ef72c92 (patch) | |
| tree | 1c969e6b0675b48b99ef79d5b70e7ff269f817a8 | |
| parent | ad04cce61c366968098e2adc8594e21e91c578e0 (diff) | |
| download | rust-18878b155ebf3c70445f2a461582475f5ef72c92.tar.gz rust-18878b155ebf3c70445f2a461582475f5ef72c92.zip | |
std: Require `&mut self` for Iterator::all
Keeps the method consistent with `Iterator::any`. Closes #22617 [breaking-change]
| -rw-r--r-- | src/libcore/iter.rs | 4 | ||||
| -rw-r--r-- | src/librustc/middle/ty.rs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 48ec1342971..f82538e0b2a 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -637,8 +637,8 @@ pub trait IteratorExt: Iterator + Sized { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] - fn all<F>(self, mut f: F) -> bool where F: FnMut(Self::Item) -> bool { - for x in self { if !f(x) { return false; } } + fn all<F>(&mut self, mut f: F) -> bool where F: FnMut(Self::Item) -> bool { + for x in self.by_ref() { if !f(x) { return false; } } true } diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index 91313633397..fbb4460f281 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -3883,7 +3883,7 @@ pub fn is_type_representable<'tcx>(cx: &ctxt<'tcx>, sp: Span, ty: Ty<'tcx>) let types_a = substs_a.types.get_slice(subst::TypeSpace); let types_b = substs_b.types.get_slice(subst::TypeSpace); - let pairs = types_a.iter().zip(types_b.iter()); + let mut pairs = types_a.iter().zip(types_b.iter()); pairs.all(|(&a, &b)| same_type(a, b)) } |
