Closed voidlock closed 10 years ago
Thanks for the report. I'll make sure the fix makes it into the next release.
It turned out that we did implement everything that should be required to make this work, but MRI is not always polymorphic and instead of calling fake.kind_of?(klass)
, it called the default C implementation, so our #kind_of?
method was never called. We fixed this by moving the Module#===
implementation to Ruby.
I have added a test (327fbc904058476d7bfba7ef240e5cff1a5686b2) showing the failure. Typical use case can also be found in the commit message
Maybe there is a way to handle this already using the existing syntax. I could not find a solution in the docs though.