From: nobu@... Date: 2019-03-08T23:45:20+00:00 Subject: [ruby-core:91726] [Ruby trunk Bug#15646] method_defined? inside method_added behaves differently for `initialize` Issue #15646 has been updated by nobu (Nobuyoshi Nakada). I think it is documented somewhere, but can't remember where it is now. Anyway, these methods are always defined as private, unless singleton methods. `initialize`, `initialize_copy`, `initialize_clone`, `initialize_dup`, `respond_to_missing?` ---------------------------------------- Bug #15646: method_defined? inside method_added behaves differently for `initialize` https://bugs.ruby-lang.org/issues/15646#change-77001 * Author: alanwu (Alan Wu) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.7.0dev (2019-03-08 trunk 67194) [x86_64-darwin18] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- Repro: ```ruby class MethodAddedSpecialCase def self.method_added(name) puts "#{name} added, method_defined?: #{method_defined?(name)}" end def hello end def initialize end def world end end ``` Output: ``` hello added, method_defined?: true initialize added, method_defined?: false world added, method_defined?: true ``` -- https://bugs.ruby-lang.org/ Unsubscribe: