Project

General

Profile

Actions

Bug #2171

closed

Kernel#respond_to_missing? Invoked for Unimplemented Methods

Added by runpaint (Run Paint Run Run) about 15 years ago. Updated over 13 years ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
ruby 1.9.2dev (2009-10-01 trunk 25173) [i686-linux]
Backport:
[ruby-core:25909]

Description

=begin
Kernel#respond_to_missing? is called for methods that raise NotImplementedError, despite such methods not invoking #method_missing. I expected it not to be.

$ cat /tmp/notimp.rb
[:method_missing, :respond_to_missing?].each do |m|
File.define_singleton_method(m, ->(_){ p m; false })
end
[:glark, :lchmod].each do |m|
puts "<<#{m}>>"
File.respond_to?(m)
File.send(m)
end

$ ruby /tmp/notimp.rb
<>
:respond_to_missing?
:method_missing
<>
:respond_to_missing?
/tmp/notimp.rb:7:in lchmod': lchmod() function is unimplemented on this machine (NotImplementedError) from /tmp/notimp.rb:7:in block in '
from /tmp/notimp.rb:4:in each' from /tmp/notimp.rb:4:in '
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0