]> git.lizzy.rs Git - rust.git/commitdiff
Repair RIMOV damage to libstd
authorBen Striegel <ben.striegel@gmail.com>
Wed, 30 Jan 2013 04:23:35 +0000 (23:23 -0500)
committerBen Striegel <ben.striegel@gmail.com>
Thu, 31 Jan 2013 04:21:16 +0000 (23:21 -0500)
src/libstd/bitv.rs
src/libstd/map.rs
src/libstd/rope.rs
src/libstd/sha1.rs
src/libstd/sync.rs

index 834b5add6eb76d07b60a6b93b7ef163fccfab0a7..271ee5923ac037d38b25b01abb55cc595517acec 100644 (file)
@@ -233,7 +233,7 @@ pub fn Bitv (nbits: uint, init: bool) -> Bitv {
         let nelems = nbits/uint_bits +
                      if nbits % uint_bits == 0 {0} else {1};
         let elem = if init {!0} else {0};
-        let s = cast_to_mut(from_elem(nelems, elem));
+        let s = from_elem(nelems, elem);
         Big(~BigBitv(move s))
     };
     Bitv {rep: move rep, nbits: nbits}
@@ -518,7 +518,7 @@ fn clone(&self) -> Bitv {
             Bitv{nbits: self.nbits, rep: Small(~SmallBitv{bits: b.bits})}
           }
           Big(ref b) => {
-            let st = cast_to_mut(from_elem(self.nbits / uint_bits + 1, 0));
+            let mut st = from_elem(self.nbits / uint_bits + 1, 0);
             let len = st.len();
             for uint::range(0, len) |i| { st[i] = b.storage[i]; };
             Bitv{nbits: self.nbits, rep: Big(~BigBitv{storage: move st})}
index 62bce2c2894149a8804434649f75dbe6a3d8acec..8087e7fcd7cc58539c5144df66538f7222ac1faa 100644 (file)
@@ -209,7 +209,7 @@ enum SearchResult<K, V> {
         fn rehash() {
             let n_old_chains = self.chains.len();
             let n_new_chains: uint = uint::next_power_of_two(n_old_chains+1u);
-            let new_chains = chains(n_new_chains);
+            let mut new_chains = chains(n_new_chains);
             for self.each_entry |entry| {
                 let idx = entry.hash % n_new_chains;
                 entry.next = new_chains[idx];
@@ -459,7 +459,7 @@ impl<K:Eq IterBytes Hash Copy, V: Copy> T<K, V>: ops::Index<K, V> {
     }
 
     fn chains<K,V>(nchains: uint) -> ~[Option<@Entry<K,V>>] {
-        vec::cast_to_mut(vec::from_elem(nchains, None))
+        vec::from_elem(nchains, None)
     }
 
     pub fn mk<K:Eq IterBytes Hash, V: Copy>() -> T<K,V> {
index 6bd9c825d4346647568afde053d6555c7d7432db..fae6ae4382f2853ca7967d73e17c37c62dbe9a08 100644 (file)
@@ -1168,8 +1168,7 @@ pub fn empty() -> T {
         }
 
         pub fn start(node: @Node) -> T {
-            let stack = vec::cast_to_mut(
-                vec::from_elem(height(node)+1u, node));
+            let stack = vec::from_elem(height(node)+1u, node);
             T {
                 stack: stack,
                 stackpos:  0,
index 20359782d962da93fe62837d9f416c4213f85bd7..c2599864c90c14ce630bc733621ab66b449d46c7 100644 (file)
@@ -67,13 +67,13 @@ trait Sha1 {
 /// Construct a `sha` object
 pub fn sha1() -> Sha1 {
     type Sha1State =
-        {h: ~[u32],
+        {h: ~[mut u32],
          mut len_low: u32,
          mut len_high: u32,
-         mut msg_block: ~[u8],
+         msg_block: ~[mut u8],
          mut msg_block_idx: uint,
          mut computed: bool,
-         work_buf: @~[u32]};
+         work_buf: @~[mut u32]};
 
     fn add_input(st: &Sha1State, msg: &[const u8]) {
         assert (!st.computed);
index dabc5b383a4c226d6fe7010b41a5ad3e14f296c8..c2eaef7a51caeb88605fd54e1137509d8dc62877 100644 (file)
@@ -97,7 +97,7 @@ fn new_sem_and_signal(count: int, num_condvars: uint)
     for num_condvars.times {
         queues.push(new_waitqueue());
     }
-    new_sem(count, vec::cast_to_mut(move queues))
+    new_sem(count, queues)
 }
 
 #[doc(hidden)]