From f15973554fb66db089dc6aba93ff72c1e3263705 Mon Sep 17 00:00:00 2001 From: Masato Sugiyama Date: Sun, 27 Apr 2025 20:52:43 +0900 Subject: [PATCH] Add test scenario for splat operator in rescue clauses --- scenario/control/rescue-assign.rb | 9 +++++++++ scenario/control/rescue-splat.rb | 15 +++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 scenario/control/rescue-splat.rb diff --git a/scenario/control/rescue-assign.rb b/scenario/control/rescue-assign.rb index de331bb02..c1fc9f40d 100644 --- a/scenario/control/rescue-assign.rb +++ b/scenario/control/rescue-assign.rb @@ -6,11 +6,20 @@ def foo(n) e.message end +def bar(n) + raise if n != 0 + n.to_s +rescue *[StandardError] => e + e.message +end + foo(1) +bar(1) ## diagnostics ## assert class Object def foo: (Integer) -> String + def bar: (Integer) -> String end diff --git a/scenario/control/rescue-splat.rb b/scenario/control/rescue-splat.rb new file mode 100644 index 000000000..576e4242f --- /dev/null +++ b/scenario/control/rescue-splat.rb @@ -0,0 +1,15 @@ +## update +def foo + begin + :a + rescue *[StandardError] + :b + end +end + +foo + +## assert +class Object + def foo: -> (:a | :b) +end