diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2011-06-15 12:17:51 +0200 |
|---|---|---|
| committer | Marijn Haverbeke <marijnh@gmail.com> | 2011-06-15 14:10:07 +0200 |
| commit | 5fb518abc9539ef114cfe9a08fa1964d28c98ef3 (patch) | |
| tree | f950c000c80a49f3957961ceea0a5fd094c2b6b0 /src/lib | |
| parent | 180db08470390ed2c350d01ae09be1e47f6135be (diff) | |
| download | rust-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.rs | 19 | ||||
| -rw-r--r-- | src/lib/vec.rs | 4 |
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); |
