After installing a copy of strawberry perl and running Handel tests under that, I started getting prototype mismatch warnings that I never received under older versions:
t\subclassing.............................ok 1/68Prototype mismatch: sub Handel::Checkout::except (&;$) vs none at C:/strawberry-perl/perl/site/lib/Module/Pluggable.pm line 67.
I was stumped for a while, then I remembered this post by Ovid and the answer hit me.
use Module::Pluggable;
use Error ':try';
I completely forget that Error has an except block. They're both competing for except(). Duh. M::P creates an except on the fly, and the
I stared at the M::P code for the longest time trying to figure out where the prototype declaration was. Go figure.
What has me curious is that this warning apparently only happens in 5.8.8 and not previous versions. Must have something to do with anon subs added on the fly after at compile time.
warnings in 5.8.8 (Score:1)
There was a bug fix with warnings in 5.8.8 that might be related. From 'perldoc perl588delta':
Re: (Score:1)
Nasty!!
If you need both excepts... (Score:1)
Error::try {
};
And so on, rather than using them as exported symbols.