From d53a253dcae826eb50856bf28c90f2a0c84dec33 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 28 Oct 2011 13:23:50 -0700 Subject: [PATCH] stdlib: make list::from_vec take [mutable? T] --- src/lib/list.rs | 2 +- src/test/stdtest/list.rs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/list.rs b/src/lib/list.rs index d368b609275e..10500e64c951 100644 --- a/src/lib/list.rs +++ b/src/lib/list.rs @@ -25,7 +25,7 @@ Function: from_vec Create a list from a vector */ -fn from_vec(v: [T]) -> list { +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 diff --git a/src/test/stdtest/list.rs b/src/test/stdtest/list.rs index a53132e879c6..0bfbcbe68a49 100644 --- a/src/test/stdtest/list.rs +++ b/src/test/stdtest/list.rs @@ -14,6 +14,14 @@ fn test_from_vec() { assert (car(cdr(cdr(l))) == 2); } +#[test] +fn test_from_vec_mut() { + let l = from_vec([mutable 0, 1, 2]); + assert (car(l) == 0); + assert (car(cdr(l)) == 1); + assert (car(cdr(cdr(l))) == 2); +} + #[test] fn test_foldl() { let l = from_vec([0, 1, 2, 3, 4]);