diff --git a/src/callback.rs b/src/callback.rs index f6a9a3c..ca93abe 100644 --- a/src/callback.rs +++ b/src/callback.rs @@ -111,7 +111,7 @@ macro_rules! impl_tuple { let system_fn = move |args: In>, world: &mut World| { let mut runtime = world.get_resource_mut::().expect("No runtime resource"); let args = if RN::needs_own_thread() { - runtime.with_engine_thread_mut(move |engine| { + runtime.with_engine_send_mut(move |engine| { ( $($t::from_runtime_value_with_engine(args.get($idx).expect(&format!("Failed to get function argument for index {}", $idx)).clone(), engine), )+ ) @@ -128,7 +128,7 @@ macro_rules! impl_tuple { inner_system.apply_deferred(world); let mut runtime = world.get_resource_mut::().expect("No runtime resource"); if RN::needs_own_thread() { - runtime.with_engine_thread_mut(move |engine| { + runtime.with_engine_send_mut(move |engine| { Out::into_runtime_value_with_engine(result, engine) }) } else { diff --git a/src/runtimes/ruby.rs b/src/runtimes/ruby.rs index 31a0358..eaba3bf 100644 --- a/src/runtimes/ruby.rs +++ b/src/runtimes/ruby.rs @@ -338,11 +338,15 @@ impl Runtime for RubyRuntime { } fn with_engine_mut(&mut self, _f: impl FnOnce(&mut Self::RawEngine) -> T) -> T { - unimplemented!("Ruby requires single threaded execution, use `with_engine_thread`"); + unimplemented!( + "Ruby runtime requires sending execution to another thread, use `with_engine_mut_send`" + ); } fn with_engine(&self, _f: impl FnOnce(&Self::RawEngine) -> T) -> T { - unimplemented!("Ruby requires single threaded execution, use `with_engine_thread`"); + unimplemented!( + "Ruby runtime requires sending execution to another thread, use `with_engine_send`" + ); } fn eval(