From bd4b377fc671bb1df501c057a150cdd1e6d865bc Mon Sep 17 00:00:00 2001 From: Jaroslaw Konik Date: Thu, 15 May 2025 07:00:00 +0200 Subject: [PATCH] promise runtime err --- assets/tests/ruby/promise_runtime_error.rb | 2 +- src/runtimes/ruby.rs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/assets/tests/ruby/promise_runtime_error.rb b/assets/tests/ruby/promise_runtime_error.rb index a3bdc78..09f5aa7 100644 --- a/assets/tests/ruby/promise_runtime_error.rb +++ b/assets/tests/ruby/promise_runtime_error.rb @@ -1,5 +1,5 @@ def test_func rust_func.and_then lambda { |x| - $state['x'] = x + print('abc' + 5) } end diff --git a/src/runtimes/ruby.rs b/src/runtimes/ruby.rs index 3d05da3..c27933a 100644 --- a/src/runtimes/ruby.rs +++ b/src/runtimes/ruby.rs @@ -368,7 +368,9 @@ impl Runtime for RubyRuntime { .into_iter() .map(|x| ruby.get_inner(x.0).as_value()) .collect(); - let result: magnus::Value = f.funcall("call", args.as_slice()).unwrap(); + let result: magnus::Value = f.funcall("call", args.as_slice()).map_err(|e| { + ScriptingError::RuntimeError(Box::new(io::Error::other(e.to_string()))) + })?; Ok(RubyValue::new(result)) })) }