[前][次][番号順一覧][スレッド一覧]

ruby-changes:72228

From: nagachika <ko1@a...>
Date: Sat, 18 Jun 2022 15:59:58 +0900 (JST)
Subject: [ruby-changes:72228] 9d11ddcf6a (ruby_3_1): merge revision(s) 0c6e24d102e894a7211a596e6aa95828b1cf4406: [Backport #18600]

https://git.ruby-lang.org/ruby.git/commit/?id=9d11ddcf6a

From 9d11ddcf6ace6676cea7cac836b4302240e3efb4 Mon Sep 17 00:00:00 2001
From: nagachika <nagachika@r...>
Date: Sat, 18 Jun 2022 15:14:43 +0900
Subject: merge revision(s) 0c6e24d102e894a7211a596e6aa95828b1cf4406: [Backport
 #18600]

	Fix visibility of alias of zsuper methods

	This was broken by 71c746379d5872e250d90ae45c585760afaf9516.

	Fixes [Bug #18600]
	---
	 test/ruby/test_alias.rb | 10 ++++++++++
	 vm_method.c             |  1 +
	 2 files changed, 11 insertions(+)
---
 test/ruby/test_alias.rb | 10 ++++++++++
 version.h               |  4 ++--
 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 https://github.com/ruby/ruby/blob/trunk/test/ruby/test_alias.rb#L265
     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;
diff --git a/version.h b/version.h
index c88801b119..912d34219f 100644
--- a/version.h
+++ b/version.h
@@ -11,10 +11,10 @@ https://github.com/ruby/ruby/blob/trunk/version.h#L11
 # 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) https://github.com/ruby/ruby/blob/trunk/vm_method.c#L2133
 	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;
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]