diff --git a/test/ruby/test_refinement.rb b/test/ruby/test_refinement.rb index 6ce434790be13b..a6c5a438cf62f7 100644 --- a/test/ruby/test_refinement.rb +++ b/test/ruby/test_refinement.rb @@ -2712,6 +2712,18 @@ def test INPUT end + # [Bug #21265] + def test_symbol_proc_from_using_scope + assert_separately([], <<~RUBY) + class RefinedScope + using(Module.new { refine(Kernel) { def itself = 0 } }) + ITSELF = :itself.to_proc + end + + assert_equal(1, RefinedScope::ITSELF[1]) + RUBY + end + private def eval_using(mod, s) diff --git a/vm_method.c b/vm_method.c index 08fcd2ca4571fc..4eecdb6ea0063d 100644 --- a/vm_method.c +++ b/vm_method.c @@ -1773,7 +1773,6 @@ resolve_refined_method(VALUE refinements, const rb_method_entry_t *me, VALUE *de tmp_me = me->def->body.refined.orig_me; if (tmp_me) { - if (defined_class_ptr) *defined_class_ptr = tmp_me->defined_class; return tmp_me; }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: