the core problem is the Proc is not shareable

This commit is contained in:
Satoshi Moris Tagomori 2021-08-24 21:00:00 +09:00 коммит произвёл Koichi Sasada
Родитель 9541b3b7c0
Коммит 489e5e3a82
2 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -1130,7 +1130,7 @@ assert_equal 'can not set constants with non-shareable objects by non-main Racto
}
# define_method is not allowed
assert_equal "defined in a different Ractor", %q{
assert_equal "defined with an un-shareable Proc in a different Ractor", %q{
str = "foo"
define_method(:buggy){|i| str << "#{i}"}
begin

Просмотреть файл

@ -3082,7 +3082,7 @@ vm_call_bmethod_body(rb_execution_context_t *ec, struct rb_calling_info *calling
if (!RB_OBJ_SHAREABLE_P(procv) &&
cme->def->body.bmethod.defined_ractor != rb_ractor_self(rb_ec_ractor_ptr(ec))) {
rb_raise(rb_eRuntimeError, "defined in a different Ractor");
rb_raise(rb_eRuntimeError, "defined with an un-shareable Proc in a different Ractor");
}
/* control block frame */