Skip to content

perlver doesn't notice postderef when combined in use feature list #34

@pryrt

Description

@pryrt

After reading this perlmonks post, I did some investigating, and narrowed it down to 3 separate bugs or feature requests, which I'm raising as three separate issues.

An explicit use feature qw(postderef); will be recognized as requiring v5.20.0, but if multiple features are passed to the same use feature... statement, it doesn't notice all the features. The following three programs are all equivalent in terms of which features they enable, and should all report as needing v5.20.0, but the first gives different output than the second and third:

file multi_feature_both.pl:

#!/usr/bin/perl
use feature qw(say postderef);
   -----------------------------------------------------
 | file                  | explicit | syntax  | external |
 | ----------------------------------------------------- |
 | multi_feature_both.pl | ~        | v5.10.0 | n/a      |
 | ----------------------------------------------------- |
 | Minimum explicit version : ~                             |
 | Minimum syntax version   : v5.10.0                       |
 | Minimum version of perl  : v5.10.0                       |
   -----------------------------------------------------

file multi_feature_swap.pl:

#!/usr/bin/perl
use feature qw(postderef say);
   -----------------------------------------------------
 | file                  | explicit | syntax  | external |
 | ----------------------------------------------------- |
 | multi_feature_swap.pl | ~        | v5.20.0 | n/a      |
 | ----------------------------------------------------- |
 | Minimum explicit version : ~                             |
 | Minimum syntax version   : v5.20.0                       |
 | Minimum version of perl  : v5.20.0                       |
   -----------------------------------------------------

file multi_feature_individual.pl:

#!/usr/bin/perl
use feature qw(say);
use feature qw(postderef);
   -----------------------------------------------------------
 | file                        | explicit | syntax  | external |
 | ----------------------------------------------------------- |
 | multi_feature_individual.pl | ~        | v5.20.0 | n/a      |
 | ----------------------------------------------------------- |
 | Minimum explicit version : ~                                |
 | Minimum syntax version   : v5.20.0                          |
 | Minimum version of perl  : v5.20.0                          |
   -----------------------------------------------------------

(verified with perlver v1.40 on Perl 5.32)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions