ruby

https://robots.thoughtbot.com/always-define-respond-to-missing-when-overriding

method_missingを実装したときに、respond_to_missing?を実装する必要があるケースに触れている。

https://docs.ruby-lang.org/ja/latest/method/Object/i/respond_to_missing=3f.html だと、overrideするべきだとしか書かれていないのですが、respond_to?だけをoverrideした場合、method(:foo)を読んだときにエラーになるんですね。

respond_to?は内部的にrespond_to_missing?を呼び出すとのことなので、腹落ちした。

proc.cというクラスの、 respond_to_missing_pが影響していそう。singleton_methodも使っているのでこれが原因かも。