diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2020-01-28 17:02:30 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2020-01-28 17:09:42 +0900 |
commit | 3c3eb418f9ce05740e5ca506b9cd5fe5cabc4bb6 (patch) | |
tree | def41d273b86918acf1c0d918f4080819d4dbaad /ext | |
parent | 7cf5d547e422134d506d37a179f64be9e98b105c (diff) | |
download | ruby-3c3eb418f9ce05740e5ca506b9cd5fe5cabc4bb6.tar.gz |
improved support for rb_f_notimplement
rb_f_notimplement should be accepted for all possible arities.
Test provided for that.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/-test-/cxxanyargs/cxxanyargs.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ext/-test-/cxxanyargs/cxxanyargs.cpp b/ext/-test-/cxxanyargs/cxxanyargs.cpp index efe35fa359..eef2387650 100644 --- a/ext/-test-/cxxanyargs/cxxanyargs.cpp +++ b/ext/-test-/cxxanyargs/cxxanyargs.cpp @@ -383,6 +383,12 @@ namespace test_rb_define_method { rb_define_method(self, "ma", (VALUE (*)(...))(ma), -2); rb_define_method(self, "mv", (VALUE (*)(...))(mv), -1); + // rb_f_notimplement + rb_define_method(self, "m1", rb_f_notimplement, 1); + rb_define_method(self, "m2", rb_f_notimplement, 2); + rb_define_method(self, "ma", rb_f_notimplement, -2); + rb_define_method(self, "mv", rb_f_notimplement, -1); + return self; } } @@ -433,6 +439,12 @@ namespace test_rb_define_module_function { rb_define_module_function(self, "ma", (VALUE (*)(...))(ma), -2); rb_define_module_function(self, "mv", (VALUE (*)(...))(mv), -1); + // rb_f_notimplement + rb_define_module_function(self, "m1", rb_f_notimplement, 1); + rb_define_module_function(self, "m2", rb_f_notimplement, 2); + rb_define_module_function(self, "ma", rb_f_notimplement, -2); + rb_define_module_function(self, "mv", rb_f_notimplement, -1); + return self; } } @@ -483,6 +495,12 @@ namespace test_rb_define_singleton_method { rb_define_singleton_method(self, "ma", (VALUE (*)(...))(ma), -2); rb_define_singleton_method(self, "mv", (VALUE (*)(...))(mv), -1); + // rb_f_notimplement + rb_define_singleton_method(self, "m1", rb_f_notimplement, 1); + rb_define_singleton_method(self, "m2", rb_f_notimplement, 2); + rb_define_singleton_method(self, "ma", rb_f_notimplement, -2); + rb_define_singleton_method(self, "mv", rb_f_notimplement, -1); + return self; } } @@ -533,6 +551,12 @@ namespace test_rb_define_protected_method { rb_define_protected_method(self, "ma", (VALUE (*)(...))(ma), -2); rb_define_protected_method(self, "mv", (VALUE (*)(...))(mv), -1); + // rb_f_notimplement + rb_define_protected_method(self, "m1", rb_f_notimplement, 1); + rb_define_protected_method(self, "m2", rb_f_notimplement, 2); + rb_define_protected_method(self, "ma", rb_f_notimplement, -2); + rb_define_protected_method(self, "mv", rb_f_notimplement, -1); + return self; } } @@ -583,6 +607,12 @@ namespace test_rb_define_private_method { rb_define_private_method(self, "ma", (VALUE (*)(...))(ma), -2); rb_define_private_method(self, "mv", (VALUE (*)(...))(mv), -1); + // rb_f_notimplement + rb_define_private_method(self, "m1", rb_f_notimplement, 1); + rb_define_private_method(self, "m2", rb_f_notimplement, 2); + rb_define_private_method(self, "ma", rb_f_notimplement, -2); + rb_define_private_method(self, "mv", rb_f_notimplement, -1); + return self; } } |