Skip to content

Commit 1da99cd

Browse files
committed
stdlib: Make list::from_vec more efficient
1 parent d53a253 commit 1da99cd

File tree

1 file changed

+1
-7
lines changed

1 file changed

+1
-7
lines changed

src/lib/list.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,7 @@ Function: from_vec
2626
Create a list from a vector
2727
*/
2828
fn from_vec<T>(v: [mutable? T]) -> list<T> {
29-
let l = nil::<T>;
30-
// FIXME: This would be faster and more space efficient if it looped over
31-
// a reverse vector iterator. Unfortunately generic iterators seem not to
32-
// work yet.
33-
34-
for item: T in vec::reversed(v) { l = cons::<T>(item, @l); }
35-
ret l;
29+
*vec::foldr({ |h, t| @cons(h, t) }, @nil::<T>, v)
3630
}
3731

3832
/*

0 commit comments

Comments
 (0)