From: "msxavi (Emerson Xavier) via ruby-core" Date: 2023-09-19T22:49:58+00:00 Subject: [ruby-core:114822] [Ruby master Bug#19893] OpenStruct#respond_to? when true fails with NameError Issue #19893 has been reported by msxavi (Emerson Xavier). ---------------------------------------- Bug #19893: OpenStruct#respond_to? when true fails with NameError https://bugs.ruby-lang.org/issues/19893 * Author: msxavi (Emerson Xavier) * Status: Open * Priority: Normal * ruby -v: 3.1.4 * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- Hello, I have a case where I overrode respond_to? on a subclass of OpenStruct because I this class to work as fake object. ``` class Dep def a "Hello from Dep" end end class FakeDep < OpenStruct def respond_to?(*args) super || Dep.new.respond_to?(*args) end end FakeDep.new(a: []) NameError: undefined method `a' for class `FakeDep' owner = method!(name).owner ^^^^^^^ from /usr/local/lib/ruby/3.1.0/ostruct.rb:245:in `method' ``` Is this a valid issue? Also posted in https://github.com/ruby/ostruct/issues/55 -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/