@@ -128,7 +128,7 @@ pure fn foldl<A,B,IA:BaseIter<A>>(self: &IA, +b0: B, blk: fn(&B, &A) -> B)
128
128
}
129
129
130
130
pure fn to_vec < A : Copy , IA : BaseIter < A > > ( self : & IA ) -> ~[ A ] {
131
- foldl :: < A , ~[ A ] , IA > ( self , ~[ ] , |r, a| vec:: append ( * r , ~[ * a] ) )
131
+ foldl :: < A , ~[ A ] , IA > ( self , ~[ ] , |r, a| vec:: append ( copy ( * r ) , ~[ * a] ) )
132
132
}
133
133
134
134
pure fn contains < A : Eq , IA : BaseIter < A > > ( self : IA , x : & A ) -> bool {
@@ -174,7 +174,7 @@ pure fn repeat(times: uint, blk: fn() -> bool) {
174
174
pure fn min < A : Copy Ord , IA : BaseIter < A > > ( self : & IA ) -> A {
175
175
match do foldl :: < A , Option < A > , IA > ( self , None ) |a, b| {
176
176
match a {
177
- & Some ( a_) if a_ < * b => {
177
+ & Some ( ref a_) if * a_ < * b => {
178
178
* ( move a)
179
179
}
180
180
_ => Some ( * b)
@@ -188,7 +188,7 @@ pure fn min<A:Copy Ord,IA:BaseIter<A>>(self: &IA) -> A {
188
188
pure fn max < A : Copy Ord , IA : BaseIter < A > > ( self : & IA ) -> A {
189
189
match do foldl :: < A , Option < A > , IA > ( self , None ) |a, b| {
190
190
match a {
191
- & Some ( a_) if a_ > * b => {
191
+ & Some ( ref a_) if * a_ > * b => {
192
192
* ( move a)
193
193
}
194
194
_ => Some ( * b)
0 commit comments