[ruby-core:113445] [Ruby master Bug#11064] #singleton_methods for objects with special singleton_class returns an empty array

Issue #11064 has been updated by headius (Charles Nutter). The behavior for this is at least consistent in JRuby; `singleton_method` does not see methods defined directly on `nil`. I think it should be made consistent, so either it shows up in both `singleton_method` and `singleton_methods` or it should show up in neither (the JRuby behavior currently). I don't have a strong opinion which way is better, but having it show up in both probably has less potential to break things. Of course, it has never worked in JRuby, so if there's code out there depending on `nil.singleton_method` returning a result, it hasn't been reported to us. ---------------------------------------- Bug #11064: #singleton_methods for objects with special singleton_class returns an empty array https://bugs.ruby-lang.org/issues/11064#change-103025 * Author: rbjl (Jan Lelis) * Status: Open * Priority: Normal * ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- ~~~ def nil.bla 42 end # works nil.bla #=> 42 nil.singleton_method(:bla) #=> #<Method: NilClass#bla> NilClass.instance_methods.include? :bla #=> true # does not work nil.singleton_methods #=> [] ~~~ -- https://bugs.ruby-lang.org/
participants (1)
-
headius (Charles Nutter)