about summary refs log tree commit diff
path: root/src/libextra/workcache.rs
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2013-11-29 10:12:08 -0800
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2013-11-29 11:19:19 -0800
commit6818b96a66f51c8912e3d8e88fb79e7956743190 (patch)
treecb0f8cca90afff86aac298d6ed99dfb8f59140a1 /src/libextra/workcache.rs
parentf7b739c34c8b25ca6c98a97dcd1189063f1bf5e9 (diff)
downloadrust-6818b96a66f51c8912e3d8e88fb79e7956743190.tar.gz
rust-6818b96a66f51c8912e3d8e88fb79e7956743190.zip
extra: json::Encoder should take a &mut io::Writer
Diffstat (limited to 'src/libextra/workcache.rs')
-rw-r--r--src/libextra/workcache.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libextra/workcache.rs b/src/libextra/workcache.rs
index 27a0f515597..ab36defe522 100644
--- a/src/libextra/workcache.rs
+++ b/src/libextra/workcache.rs
@@ -256,9 +256,9 @@ enum Work<'self, T> {
     WorkFromTask(&'self Prep<'self>, PortOne<(Exec, T)>),
 }
 
-fn json_encode<T:Encodable<json::Encoder>>(t: &T) -> ~str {
-    let writer = @mut MemWriter::new();
-    let mut encoder = json::Encoder::init(writer as @mut io::Writer);
+fn json_encode<'self, T:Encodable<json::Encoder<'self>>>(t: &T) -> ~str {
+    let mut writer = MemWriter::new();
+    let mut encoder = json::Encoder::init(&mut writer as &mut io::Writer);
     t.encode(&mut encoder);
     str::from_utf8(writer.inner_ref().as_slice())
 }
@@ -396,15 +396,15 @@ impl<'self> Prep<'self> {
         return true;
     }
 
-    pub fn exec<T:Send +
-        Encodable<json::Encoder> +
+    pub fn exec<'self, T:Send +
+        Encodable<json::Encoder<'self>> +
         Decodable<json::Decoder>>(
             &'self self, blk: proc(&mut Exec) -> T) -> T {
         self.exec_work(blk).unwrap()
     }
 
-    fn exec_work<T:Send +
-        Encodable<json::Encoder> +
+    fn exec_work<'self, T:Send +
+        Encodable<json::Encoder<'self>> +
         Decodable<json::Decoder>>( // FIXME(#5121)
             &'self self, blk: proc(&mut Exec) -> T) -> Work<'self, T> {
         let mut bo = Some(blk);
@@ -449,7 +449,7 @@ impl<'self> Prep<'self> {
 }
 
 impl<'self, T:Send +
-       Encodable<json::Encoder> +
+       Encodable<json::Encoder<'self>> +
        Decodable<json::Decoder>>
     Work<'self, T> { // FIXME(#5121)