From 49e593c3d6494e210c215b4d353270616450980f Mon Sep 17 00:00:00 2001 From: Dan Schatzberg Date: Thu, 2 Oct 2014 14:06:31 -0400 Subject: [PATCH] Add fixes for new lifetime bounds --- src/libcollections/btree/map.rs | 4 ++-- src/libcollections/vec.rs | 15 ++++++--------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs index b0ba2254621..ab160595433 100644 --- a/src/libcollections/btree/map.rs +++ b/src/libcollections/btree/map.rs @@ -46,12 +46,12 @@ struct AbsEntries { } /// An iterator over a BTreeMap's entries. -pub struct Entries<'a, K, V> { +pub struct Entries<'a, K: 'a, V: 'a> { inner: AbsEntries> } /// A mutable iterator over a BTreeMap's entries. -pub struct MutEntries<'a, K, V> { +pub struct MutEntries<'a, K: 'a, V: 'a> { inner: AbsEntries> } diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index 9c3842dfd9c..9ada9ede435 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -849,9 +849,9 @@ impl Vec { let cap = self.cap; let begin = self.ptr as *const T; let end = if mem::size_of::() == 0 { - (ptr as uint + self.len()) as *const T; + (ptr as uint + self.len()) as *const T } else { - ptr.offset(self.len() as int) + ptr.offset(self.len() as int) as *const T }; mem::forget(self); MoveItems { allocation: ptr, cap: cap, ptr: begin, end: end } @@ -1788,7 +1788,7 @@ impl MoveItems { pub fn unwrap(mut self) -> Vec { unsafe { for _x in self { } - let MoveItems { allocation, cap, iter: _iter } = self; + let MoveItems { allocation, cap, ptr: _ptr, end: _end } = self; mem::forget(self); Vec { ptr: allocation, cap: cap, len: 0 } } @@ -2569,33 +2569,30 @@ mod tests { fn test_move_items() { let mut vec = vec!(1i, 2, 3); let mut vec2 : Vec = vec!(); - for i in vec.move_iter() { + for i in vec.into_iter() { vec2.push(i); } assert!(vec2 == vec!(1i, 2, 3)); - assert!(vec.empty()); } #[test] fn test_move_items_reverse() { let mut vec = vec!(1i, 2, 3); let mut vec2 : Vec = vec!(); - for i in vec.move_iter().rev() { + for i in vec.into_iter().rev() { vec2.push(i); } assert!(vec2 == vec!(3i, 2, 1)); - assert!(vec.empty()); } #[test] fn test_move_items_zero_sized() { let mut vec = vec!((), (), ()); let mut vec2 : Vec<()> = vec!(); - for i in vec.move_iter() { + for i in vec.into_iter() { vec2.push(i); } assert!(vec2 == vec!((), (), ())); - assert!(vec.empty()); } #[bench]