I've just uploaded a new development version of UNIVERSAL::isa to the CPAN 
(1.00_00).  Please test it if you use other modules such as Test::MockObject, 
as it's important to ensure that the latter works properly.

This version adds one important feature (which I'll add to UNIVERSAL::can soon 
as well), in that it by default only warns about the use of UNIVERSAL::isa as 
a function if that is truly a bug that could cause your program to do the 
wrong thing. It no longer warns by default about latent bugs that you'll hit 
later. You can pass a flag to the import to restore that behavior, however.

I believe this fixes the main objection to this pair of modules, namely that 
they won't shut up about all of the bugs out there in OO Perl code. I hope 
this makes people more likely to fix those bugs, rather than not using useful 
modules such as T::MO.

(If you still think it's acceptable to call methods as functions in Perl, the 
documentation for UNIVERSAL recommends against the use of isa/can as 
functions and has done so for nearly two years*. If that still doesn't 
convince you, I suggest immediately replacing all of your constructors with 
Acme::UNIVERSAL::new and then running your test suite.)

Please report any failures to the RT queue for the module, or the list.

-- c

* http://www.nntp.perl.org/group/perl.perl5.changes/2005/12/msg14252.html

Reply via email to