Michael G Schwern <[EMAIL PROTECTED]> writes:

> On Mon, Dec 17, 2001 at 08:12:43AM +0000, Piers Cawley wrote:
>> >> What's wrong with 
>> >> 
>> >>     ok ( eval { $foo->isa('Foo') } );
>> >>
>> >> or even:
>> >> 
>> >>     ok (eval { ref($foo) && $foo->isa('Foo') });
>> >
>> > As Kurt already pointed out, you can do:
>> >
>> >     ok( UNIVERSAL::isa($foo, 'Foo') );
>> >
>> > but if it fails you have no idea what $foo was.
>> 
>> No you can't. Not if you've overridden isa anywhere. (Which is
>> perfectly possible.)
>
> Ooooh, hadn't thought about that.  I've done it myself a few times (to
> make a delegation look like inheritance).  Now I have to go fix
> Test::More to deal with it.  Ya know, I was literally just about to
> release 0.40 and I HAD to go read my email first.
>
> Either way, your above ok() solutions still give you no failure
> diagnostics, which is the whole point.

Well, yes. At least the point about overridden isa didn't get lost... 

-- 
Piers

   "It is a truth universally acknowledged that a language in
    possession of a rich syntax must be in need of a rewrite."
         -- Jane Austen?

Reply via email to