Skip Menu |

This queue is for tickets about the Perl-MinimumVersion CPAN distribution.

Report information
The Basics
Id: 89173
Status: resolved
Priority: 0/
Queue: Perl-MinimumVersion

People
Owner: NEILB [...] cpan.org
Requestors: ether [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.32
Fixed in: 1.35



Subject: _use_base_exporter rule should be removed
Currently, the construct "use base 'Exporter'" injects a minimum version of 5.008 -- the comment for this rule says "use base 'Exporter' doesn't work reliably everywhere until 5.008". However, Exporter is dual-lifed, so the presence of this code really should just result in a minimum prereq on whatever version of Exporter fixed this (say, via Perl::PrereqScanner) -- it doesn't have anything to do with the minimum required version of *perl*. Consequently I think this rule should be removed, as its presence is artificially injecting a minimum prereq of 5.8 into distributions that do not need it.
On Tue Oct 01 17:58:36 2013, ETHER wrote: Show quoted text
> Currently, the construct "use base 'Exporter'" injects a minimum > version of 5.008 -- the comment for this rule says "use base > 'Exporter' doesn't work reliably everywhere until 5.008". However, > Exporter is dual-lifed, so the presence of this code really should > just result in a minimum prereq on whatever version of Exporter fixed > this (say, via Perl::PrereqScanner) -- it doesn't have anything to do > with the minimum required version of *perl*. > > Consequently I think this rule should be removed, as its presence is > artificially injecting a minimum prereq of 5.8 into distributions that > do not need it.
In addition, I don't think the check is accurate at all. The changelog entry added with this change was: Adding rule for "use base 'Exporter';" (some old versions don't export import) which reads more like it is talking about "use Exporter 'import';" As far as I know, "use base 'Exporter';" has always worked.
Show quoted text
> which reads more like it is talking about "use Exporter 'import';" As > far as I know, "use base 'Exporter';" has always worked.
Right, "use Exporter 'import'" has an implicit dependency on Exporter 5.57, but Perl::PrereqScanner already has a rule for this, and again it has nothing to do with the perl version, as Exporter is dual-lifed.
we now do this: use base ('Exp'.'orter'); to foil the prereq scanner's buggy heuristics, and to avoid depending on Exporter 5.57.
Oops, I closed this ticket thinking it was in CMM's queue. It should still be fixed in Perl-MinimumVersion.
Removed in 1.35! Thanks, Neil