diff options
Diffstat (limited to 'src/libcore/iter.rs')
| -rw-r--r-- | src/libcore/iter.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 7df8a7864d9..f8a56b3d6fc 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -2199,7 +2199,12 @@ pub fn iterate<'a, T: Clone>(f: |T|: 'a -> T, seed: T) -> Iterate<'a, T> { if *first { *first = false; } else { - val.mutate(|x| (*f)(x)); + match val.take() { + Some(x) => { + *val = Some((*f)(x)) + } + None => {} + } } val.clone() }) |
