From 253761c730a1312685fb4104d956d0ced571911e Mon Sep 17 00:00:00 2001 From: Jaroslaw Konik Date: Sat, 10 May 2025 16:35:31 +0200 Subject: [PATCH] wip --- src/runtimes/ruby.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/runtimes/ruby.rs b/src/runtimes/ruby.rs index e1944d8..230d2a7 100644 --- a/src/runtimes/ruby.rs +++ b/src/runtimes/ruby.rs @@ -74,19 +74,16 @@ impl RubyThread { } } - fn execute_in(&self, f: Box RubyValue + Send>) -> RubyValue { + fn execute_in(&self, f: Box T + Send>) -> T { let (return_sender, return_receiver) = crossbeam_channel::bounded(0); self.sender .as_ref() .unwrap() .send(Box::new(move |ruby| { return_sender.send(f(ruby)).unwrap(); - // return_sender.send(f(ruby)).unwrap(); - // drop(return_sender); })) .unwrap(); - return_receiver.recv().unwrap(); - RubyValue(()) + return_receiver.recv().unwrap() } } @@ -125,7 +122,7 @@ impl Runtime for RubyRuntime { } fn with_engine(&self, f: impl FnOnce(&Self::RawEngine) -> T) -> T { - todo!() + RUBY_THREAD.execute_in(Box::new(move |ruby| f(&ruby))) } fn eval(