diff --git a/src/lib/list.rs b/src/lib/list.rs index 10500e64c95..f1851a2564e 100644 --- a/src/lib/list.rs +++ b/src/lib/list.rs @@ -26,13 +26,7 @@ Function: from_vec Create a list from a vector */ fn from_vec(v: [mutable? T]) -> list { - let l = nil::; - // FIXME: This would be faster and more space efficient if it looped over - // a reverse vector iterator. Unfortunately generic iterators seem not to - // work yet. - - for item: T in vec::reversed(v) { l = cons::(item, @l); } - ret l; + *vec::foldr({ |h, t| @cons(h, t) }, @nil::, v) } /*