False CORE::try/catch ambiguity warnings break Try::Tiny consumers
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start with the minimal use DateTime::Format::Strptime; reproducer and compare warning behavior across the JVM and interpreter backends against Perl 5.42.2. Trace where ambiguous CORE::try() and CORE::catch() warnings are emitted, then verify that the CPAN consumer loads without warnings and that the affected Test::NoWarnings checks pass.
Written by the indexing model from the issue text.
Description
Summary
PerlOnJava emits false Ambiguous call resolved as CORE::try() and CORE::catch() warnings when compiling modules that import try/catch from Try::Tiny. These warnings make otherwise passing CPAN tests fail under Test::NoWarnings.
Reproduction
The issue was observed while testing TBX::Min version 0.08 in CPAN random run 20260921-124328-13959 at PerlOnJava commit d8e4fd417.
The distribution's standard Perl suite passes all 162 tests. Under PerlOnJava, both the JVM backend and interpreter backend reproduce the warnings with the dependency set used by the run. A minimal load reproducer is:
use DateTime::Format::Strptime;
The warnings include:
Ambiguous call resolved as CORE::try(), qualify as such or use &
Ambiguous call resolved as CORE::catch(), qualify as such or use &
They originate in Try::Tiny consumers including DateTime::Format::Strptime, Module::Implementation, DateTime, and DateTime::TimeZone. PerlOnJava reports these warnings even though the code imports and calls the Try::Tiny functions; standard Perl does not report them for the same suite.
CPAN impact
TBX::Min reports 8 failed test programs out of 10 and 8 failed subtests out of 162. In each affected test program, the only failure is the Test::NoWarnings check; functional assertions pass.
The distribution contains no XS or native code, so no native reverse-dependency analysis is applicable.
Expected behavior
PerlOnJava should match standard Perl warning behavior: importing try and catch from Try::Tiny should not produce false ambiguity warnings merely because Perl has a CORE::try construct.
Environment
- PerlOnJava backends: JVM and interpreter
- Standard Perl oracle: Perl 5.42.2 on macOS
- Affected dependency:
DateTime::Format::Strptime1.80 - CPAN distribution:
TBX::Min0.08
- Dominant language
- Perl
- Stars
- 64
- Forks
- 6
- Avg merge
- 5h 18m
- Merged PRs (30d)
- 162
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:cpan-port area:parser area:runtime bug
Difficulty 4/5 3-5 days Newbie friendliness 52/100
fglock/PerlOnJava#1477 ·
-
area:cpan-port area:parser area:unicode bug
Difficulty 3/5 1-2 days Newbie friendliness 67/100
fglock/PerlOnJava#1476 ·
-
area:backend area:cpan-port area:runtime bug
Difficulty 4/5 3-5 days Newbie friendliness 55/100
fglock/PerlOnJava#1475 ·
-
area:backend area:cpan-port area:runtime bug
Difficulty 4/5 3-5 days Newbie friendliness 68/100
fglock/PerlOnJava#1471 ·
All issues in fglock/PerlOnJava
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
corazawaf/coraza-nginx#140 ·
-
1.severity: security
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
api7/lua-resty-saml#63 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100