diff options
Diffstat (limited to 'src/libstd/workcache.rs')
| -rw-r--r-- | src/libstd/workcache.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libstd/workcache.rs b/src/libstd/workcache.rs index c01d1f5a2d7..e681382ffc8 100644 --- a/src/libstd/workcache.rs +++ b/src/libstd/workcache.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#[allow(deprecated_mode)]; - use json; use sha1; use serialize::{Encoder, Encodable, Decoder, Decodable}; @@ -141,7 +139,7 @@ impl WorkMap { } impl<S:Encoder> Encodable<S> for WorkMap { - fn encode(&self, s: &S) { + fn encode(&self, s: &mut S) { let mut d = ~[]; for self.each |k, v| { d.push((copy *k, copy *v)) @@ -152,7 +150,7 @@ impl<S:Encoder> Encodable<S> for WorkMap { } impl<D:Decoder> Decodable<D> for WorkMap { - fn decode(d: &D) -> WorkMap { + fn decode(d: &mut D) -> WorkMap { let v : ~[(WorkKey,~str)] = Decodable::decode(d); let mut w = WorkMap::new(); for v.each |&(k, v)| { @@ -171,8 +169,8 @@ struct Database { pub impl Database { fn prepare(&mut self, fn_name: &str, - declared_inputs: &WorkMap) -> Option<(WorkMap, WorkMap, ~str)> - { + declared_inputs: &WorkMap) + -> Option<(WorkMap, WorkMap, ~str)> { let k = json_encode(&(fn_name, declared_inputs)); match self.db_cache.find(&k) { None => None, @@ -231,7 +229,8 @@ struct Work<T> { fn json_encode<T:Encodable<json::Encoder>>(t: &T) -> ~str { do io::with_str_writer |wr| { - t.encode(&json::Encoder(wr)); + let mut encoder = json::Encoder(wr); + t.encode(&mut encoder); } } @@ -239,7 +238,8 @@ fn json_encode<T:Encodable<json::Encoder>>(t: &T) -> ~str { fn json_decode<T:Decodable<json::Decoder>>(s: &str) -> T { do io::with_str_reader(s) |rdr| { let j = result::unwrap(json::from_reader(rdr)); - Decodable::decode(&json::Decoder(j)) + let mut decoder = json::Decoder(j); + Decodable::decode(&mut decoder) } } |
