diff options
| -rw-r--r-- | test/ruby/test_alias.rb | 10 | ||||
| -rw-r--r-- | version.h | 4 | ||||
| -rw-r--r-- | vm_method.c | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/test/ruby/test_alias.rb b/test/ruby/test_alias.rb index 99f2223b49..0d33cb993c 100644 --- a/test/ruby/test_alias.rb +++ b/test/ruby/test_alias.rb @@ -265,6 +265,16 @@ class TestAlias < Test::Unit::TestCase end; end + class C2 + public :system + alias_method :bar, :system + alias_method :system, :bar + end + + def test_zsuper_alias_visibility + assert(C2.new.respond_to?(:system)) + end + def test_alias_memory_leak assert_no_memory_leak([], "#{<<~"begin;"}", "#{<<~'end;'}", rss: true) begin; @@ -11,10 +11,10 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 3 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 31 +#define RUBY_PATCHLEVEL 32 #define RUBY_RELEASE_YEAR 2022 -#define RUBY_RELEASE_MONTH 5 +#define RUBY_RELEASE_MONTH 6 #define RUBY_RELEASE_DAY 18 #include "ruby/version.h" diff --git a/vm_method.c b/vm_method.c index d1cfd232e5..94c3f978dc 100644 --- a/vm_method.c +++ b/vm_method.c @@ -2133,6 +2133,7 @@ rb_alias(VALUE klass, ID alias_name, ID original_name) visi = METHOD_ENTRY_VISI(orig_me); goto again; case VM_METHOD_TYPE_ALIAS: + visi = METHOD_ENTRY_VISI(orig_me); orig_me = orig_me->def->body.alias.original_me; VM_ASSERT(orig_me->def->type != VM_METHOD_TYPE_ALIAS); break; |
