Parser rejects valid block argument syntax in Resource::Silo
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 65/100
Research direction
The issue is in the parser, likely in the grammar for function calls with block arguments. Start by examining the parser source code, perhaps under a 'grammar' or 'parse' directory. Look for how set_prototype or similar functions with block and subsequent arguments are handled. The minimal reproducer my $x = set_prototype { 1 } q{}; should be added as a test case. Run the existing parser tests to see the failure, then debug by comparing the parse tree with standard Perl's output.
Written by the indexing model from the issue text.
Description
Summary
PerlOnJava rejects valid Perl syntax used by Resource::Silo 0.1703. The
failure occurs while compiling the module, before its tests can run.
Reproduction
This standard-Perl expression is accepted by Perl 5:
my $shortcut_sub = set_prototype {
$instance //= $target->new;
} '';
PerlOnJava reports a syntax error at the closing expression. The smallest
reproducer is:
use Scalar::Util qw(set_prototype);
my $x = set_prototype { 1 } q{};
Evidence
- Distribution:
Resource-Silo0.1703 - CPAN random tester run:
20260922-180448-60378 - Failing test:
t/001-load.t, duringuse Resource::Silo - System Perl: PASS, 39 test files and 148 tests
- PerlOnJava JVM backend: FAIL
- PerlOnJava interpreter backend: FAIL
- The minimal reproducer passes on system Perl and fails on both PerlOnJava
backends. - The distribution is pure Perl and does not require XS or native code.
Expected behavior
PerlOnJava should parse and execute a function call whose first argument is an
anonymous block followed by a second expression, matching standard Perl's
handling of set_prototype { ... } ''.
Acceptance criteria
- Add focused project-owned regression coverage for this syntax.
- The regression passes on both JVM and interpreter backends.
Resource-Silo0.1703 passes its complete upstream test suite.
- Dominant language
- Perl
- Stars
- 64
- Forks
- 6
- Avg merge
- 5h 11m
- Merged PRs (30d)
- 168
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1494 ·
-
area:backend area:runtime enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1492 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1487 ·
-
area:backend area:cpan-port area:runtime bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
fglock/PerlOnJava#1482 · 1 comment ·
All issues in fglock/PerlOnJava
Similar issues
-
documentation Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
objectionary/eolang.sty#159 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
corazawaf/coraza-nginx#140 · 4 comments ·
-
1.severity: security
Difficulty 2/5 1-3 hours Newbie friendliness 68/100