From: hanmac@... Date: 2019-02-13T14:57:39+00:00 Subject: [ruby-core:91531] [Ruby trunk Bug#15597] syscall not returning true from private_method_defined? Issue #15597 has been updated by Hanmac (Hans Mackowiak). @Nobu : this commit changed it https://github.com/ruby/ruby/commit/67d87b192b23a75092280b534570580df0f8f7a5 specially this line: ```ruby if (me->def->type == VM_METHOD_TYPE_NOTIMPLEMENTED) return METHOD_VISI_UNDEF; ``` means for each not implemented method, the visibility is undef, and the checks does fail ---------------------------------------- Bug #15597: syscall not returning true from private_method_defined? https://bugs.ruby-lang.org/issues/15597#change-76790 * Author: AaronLasseigne (Aaron Lasseigne) * Status: Feedback * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- `syscode` is a private method on `Object` but when checked with `private_method_defined?` it returns `false`. Ruby 2.6.1 ``` irb(main):001:0> Object.new.private_methods.sort.select { |pm| !Object.private_method_defined?(pm) } => [:syscall] ``` Ruby 2.5.3 ``` irb(main):001:0> Object.new.private_methods.sort.select { |pm| !Object.private_method_defined?(pm) } => [] ``` -- https://bugs.ruby-lang.org/ Unsubscribe: