about summary refs log tree commit diff
path: root/src/libstd/rt/basic.rs
diff options
context:
space:
mode:
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)
+        }
     }
 }