about summary refs log tree commit diff
path: root/src/libstd/rt/basic.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-12-05 17:25:48 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-12-10 15:13:12 -0800
commit6bd80f74505a3eb7c44753c69cbe253ff566d5c1 (patch)
treeacccb99cf7a8bae4571c1e866415c0731a6f0f37 /src/libstd/rt/basic.rs
parent8c2ebe1622681c2a93a2fcf2673a5671fd110ead (diff)
downloadrust-6bd80f74505a3eb7c44753c69cbe253ff566d5c1.tar.gz
rust-6bd80f74505a3eb7c44753c69cbe253ff566d5c1.zip
librustuv: Change `with_local_io` to use RAII.
Diffstat (limited to 'src/libstd/rt/basic.rs')
-rw-r--r--src/libstd/rt/basic.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libstd/rt/basic.rs b/src/libstd/rt/basic.rs
index 311138d15a2..87b776d3c1e 100644
--- a/src/libstd/rt/basic.rs
+++ b/src/libstd/rt/basic.rs
@@ -159,8 +159,11 @@ impl EventLoop for BasicLoop {
         ~BasicRemote::new(self.messages.clone(), id) as ~RemoteCallback
     }
 
-    fn io<'a>(&'a mut self, f: |&'a mut IoFactory|) {
-        f(self.io)
+    fn io(&mut self) -> &'static mut IoFactory:'static {
+        unsafe {
+            let factory: &mut IoFactory = self.io;
+            cast::transmute(factory)
+        }
     }
 }