On Wed, May 17, 2006 at 11:00:05PM -0700, chromatic wrote:
> On Wednesday 17 May 2006 12:59, David Landgren wrote:
> > It turns out that the heart of the matter is "Test::MockObject", which
> > cannot be made to work correctly if classes overload their own "isa"
> > functions.
> Exactly backwards. Test::MockObject and Test::MockObject::Extends both
> overload isa() and can. Stupid, buggy, short-sighted, and wrong code that
> calls UNIVERSAL::isa() and UNIVERSAL::can() as functions breaks it.
Unless what you are calling isa as a prelude to mucking about in the
internals of an object.
> Calling sv_derived_from() in XS code and expecting it to work on Perl objects
> is likewise wrong-headed.
...and mucking about in the internals of an object is exactly what most XS
code does.