From 1da99cdf687e91e5df579d518a8b16871b0686a1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 28 Oct 2011 13:32:11 -0700 Subject: [PATCH] stdlib: Make list::from_vec more efficient --- src/lib/list.rs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) 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) } /*