]> git.lizzy.rs Git - rust.git/commitdiff
stdlib: make list::from_vec take [mutable? T]
authorBrian Anderson <banderson@mozilla.com>
Fri, 28 Oct 2011 20:23:50 +0000 (13:23 -0700)
committerBrian Anderson <banderson@mozilla.com>
Fri, 28 Oct 2011 20:24:39 +0000 (13:24 -0700)
src/lib/list.rs
src/test/stdtest/list.rs

index d368b609275e3818c30f9453629732d1073858f0..10500e64c9515a3af075b05f8d491727cd22e552 100644 (file)
@@ -25,7 +25,7 @@
 
 Create a list from a vector
 */
-fn from_vec<T>(v: [T]) -> list<T> {
+fn from_vec<T>(v: [mutable? T]) -> list<T> {
     let l = nil::<T>;
     // FIXME: This would be faster and more space efficient if it looped over
     // a reverse vector iterator. Unfortunately generic iterators seem not to
index a53132e879c620dc96576acca65fb1dcd9183c01..0bfbcbe68a497a870a44622e7e600a0dc088e16a 100644 (file)
@@ -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]);