bug: preserve reference values from tied-hash values()
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
Research direction
Use the upstream CPAN test t/1_basic.t, especially test 8, as the behavioral reference, then locate the tied-hash values implementation and existing project regression tests. Add focused coverage for reference-valued FETCH results, validate it with system Perl, and confirm both JVM and interpreter backends pass while retaining the CPAN test as integration coverage.
Written by the indexing model from the issue text.
Description
Summary
values %hash on a tied hash can return scalar iteration values instead of
the references returned by the tie object's FETCH method.
Evidence
- CPAN distribution:
Tie::MultiKeyInsertOrderHash0.1 (pure Perl). - Archived CPAN run:
20260928-091741-26386. - Upstream test:
t/1_basic.t, test 8,Values in right order test. - System Perl 5.42.2: 16/16 tests pass.
- PerlOnJava JVM backend: 15/16 tests pass; test 8 fails.
- PerlOnJava interpreter backend: the same 15/16 result and test-8 failure.
The distribution's tie class stores an array reference for each key. After
assigning repeated values to A and B, standard Perl makes
[values %hash] contain those array references. PerlOnJava instead reports
the first scalar value ('1') where the first array reference ([1, 3]) is
expected. keys %hash and list-context each %hash pass in the same test.
Expected behavior
For a tied hash, values %hash must preserve the actual values returned by
the tie interface, including references. It must not substitute the scalar
value paired with a key during tied iteration.
Acceptance criteria
- Add a project-owned focused regression that verifies reference-valued
FETCHresults fromvalues %tied_hash. - Validate the test with system Perl first.
- Verify JVM and interpreter backend success.
- Retain the existing CPAN test as integration coverage.
Duplicate check
No issue matched the distribution name or stable failing test. Closed #20 is
limited to a tied element access in void context, and open #1269 is a broad
core-suite tracker for repeated FETCH calls; neither covers this result
materialization error.
- Dominant language
- Perl
- Stars
- 64
- Forks
- 6
- Avg merge
- 4h 42m
- Merged PRs (30d)
- 182
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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 ·
Maintainers usually reply within 1 day
-
area:cpan-port area:regex area:unicode bug
Difficulty 4/5 3-5 days Newbie friendliness 52/100
fglock/PerlOnJava#1556 ·
Maintainers usually reply within 1 day
-
area:cpan-port area:runtime bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
fglock/PerlOnJava#1552 ·
Maintainers usually reply within 1 day
-
area:backend area:cpan-port bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
fglock/PerlOnJava#1548 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 5/5 Over a week Newbie friendliness 35/100
fglock/PerlOnJava#1541 ·
Maintainers usually reply within 1 day
All issues in fglock/PerlOnJava
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
objectionary/eolang.sty#167 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
1.severity: security
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
conan-io/conan-center-index#31065 · 1 comment ·
Maintainers usually reply within 1 day