From: marcandre-ruby-core@... Date: 2021-02-27T18:52:49+00:00 Subject: [ruby-core:102646] [Ruby master Feature#17660] Expose information about which basic methods have been redefined Issue #17660 has been updated by marcandre (Marc-Andre Lafortune). Oh, IIUC, knowing if a particular method (basic or not) has been redefined is available in pure Ruby, but not the information about which methods are "basic" methods (for any given Ruby version). ---------------------------------------- Feature #17660: Expose information about which basic methods have been redefined https://bugs.ruby-lang.org/issues/17660#change-90639 * 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? } ``` ---Files-------------------------------- 0001-Expose-information-about-which-basic-methods-have-be.patch (3.89 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: