From: tenderlove@... Date: 2021-02-27T00:30:47+00:00 Subject: [ruby-core:102631] [Ruby master Feature#17660] Expose information about which basic methods have been redefined Issue #17660 has been reported by tenderlovemaking (Aaron Patterson). ---------------------------------------- Feature #17660: Expose information about which basic methods have been redefined https://bugs.ruby-lang.org/issues/17660 * Author: tenderlovemaking (Aaron Patterson) * Status: Open * Priority: Normal ---------------------------------------- I would like to tell if code is redefining methods that can impact MRI's optimizations. This commit exposes which basic methods have been redefined. For example: ```ruby class Integer def +(x); x ** self; end end p RubyVM.redefined_methods # => {Integer=>[:+]} ``` This will allow us to prevent basic method redefinitions from happening by checking for them in CI environments. For example: ```ruby Minitest.after_run { fail "Basic methods have been redefine" if RubyVM.redefined_methods.any? } ``` -- https://bugs.ruby-lang.org/ Unsubscribe: