UNIVERSAL::isa 1.00_00 Released

chromatic on 2007-11-25T00:36:02

I've just uploaded a new development version of UNIVERSAL::isa to the CPAN. 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 perl-qa list.