about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-06-15 12:17:51 +0200
committerMarijn Haverbeke <marijnh@gmail.com>2011-06-15 14:10:07 +0200
commit5fb518abc9539ef114cfe9a08fa1964d28c98ef3 (patch)
treef950c000c80a49f3957961ceea0a5fd094c2b6b0 /src/lib
parent180db08470390ed2c350d01ae09be1e47f6135be (diff)
downloadrust-5fb518abc9539ef114cfe9a08fa1964d28c98ef3.tar.gz
rust-5fb518abc9539ef114cfe9a08fa1964d28c98ef3.zip
Fix assignments to immutable fields throughout the code
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/deque.rs19
-rw-r--r--src/lib/vec.rs4
2 files changed, 12 insertions, 11 deletions
diff --git a/src/lib/deque.rs b/src/lib/deque.rs
index 6ad44af5288..060b435215d 100644
--- a/src/lib/deque.rs
+++ b/src/lib/deque.rs
@@ -27,26 +27,27 @@ fn create[T]() -> t[T] {
      * Grow is only called on full elts, so nelts is also len(elts), unlike
      * elsewhere.
      */
-    fn grow[T](uint nelts, uint lo, vec[cell[T]] elts) -> vec[cell[T]] {
-        assert (nelts == vec::len[cell[T]](elts));
+    fn grow[T](uint nelts, uint lo, vec[mutable cell[T]] elts)
+        -> vec[mutable cell[T]] {
+        assert (nelts == vec::len(elts));
 
         // FIXME: Making the vector argument an alias is a workaround for
         // issue #375
         fn fill[T](uint i, uint nelts, uint lo,
-                   &vec[cell[T]] old) -> cell[T] {
+                   &vec[mutable cell[T]] old) -> cell[T] {
             ret if (i < nelts) {
                 old.((lo + i) % nelts)
             } else {
-                option::none[T]
+                option::none
             };
         }
 
         let uint nalloc = uint::next_power_of_two(nelts + 1u);
         let vec::init_op[cell[T]] copy_op = bind fill[T](_, nelts, lo, elts);
-        ret vec::init_fn[cell[T]](copy_op, nalloc);
+        ret vec::init_fn_mut[cell[T]](copy_op, nalloc);
     }
 
-    fn get[T](vec[cell[T]] elts, uint i) -> T {
+    fn get[T](vec[mutable cell[T]] elts, uint i) -> T {
         ret alt (elts.(i)) {
             case (option::some(?t)) { t }
             case (_) { fail }
@@ -56,7 +57,7 @@ fn create[T]() -> t[T] {
     obj deque[T](mutable uint nelts,
                  mutable uint lo,
                  mutable uint hi,
-                 mutable vec[cell[T]] elts)
+                 mutable vec[mutable cell[T]] elts)
         {
             fn size() -> uint { ret nelts; }
 
@@ -130,8 +131,8 @@ fn create[T]() -> t[T] {
             }
 
         }
-    let vec[cell[T]] v = vec::init_elt[cell[T]](option::none[T],
-                                                initial_capacity);
+    let vec[mutable cell[T]] v = vec::init_elt_mut(option::none,
+                                                   initial_capacity);
 
     ret deque[T](0u, 0u, 0u, v);
 }
diff --git a/src/lib/vec.rs b/src/lib/vec.rs
index dbbe4b132a3..4afeb6c8431 100644
--- a/src/lib/vec.rs
+++ b/src/lib/vec.rs
@@ -385,14 +385,14 @@ fn freeze[T](vec[mutable T] v) -> vec[T] {
 }
 
 // Swaps two elements in a vector
-fn swap[T](&vec[T] v, uint a, uint b) {
+fn swap[T](&vec[mutable T] v, uint a, uint b) {
     let T t = v.(a);
     v.(a) = v.(b);
     v.(b) = t;
 }
 
 // In place vector reversal
-fn reverse[T](&vec[T] v) -> () {
+fn reverse[T](&vec[mutable T] v) -> () {
     let uint i = 0u;
     auto ln = len[T](v);