From 024bbf54018dce223663be4057316006faab4295 Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Wed, 22 Oct 2025 03:52:40 +0900 Subject: NameError (NoMethodError) is copyable because ISeq is shareable now. --- bootstraptest/test_ractor.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/bootstraptest/test_ractor.rb b/bootstraptest/test_ractor.rb index 634a3e3e61..65ef07fb73 100644 --- a/bootstraptest/test_ractor.rb +++ b/bootstraptest/test_ractor.rb @@ -1381,18 +1381,17 @@ assert_equal "#{n}#{n}", %Q{ }.map{|r| r.value}.join } -# NameError -assert_equal "ok", %q{ +# Now NoMethodError is copyable +assert_equal "NoMethodError", %q{ obj = "".freeze # NameError refers the receiver indirectly begin obj.bar rescue => err end - begin - Ractor.new{} << err - rescue TypeError - 'ok' - end + + r = Ractor.new{ Ractor.receive } + r << err + r.value.class } assert_equal "ok", %q{ -- cgit v1.2.3