Port Data::Alias for CPAN compatibility
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
研究方向
Read the PerlOnJava parser and runtime entry points that implement Perl syntax and operations, then compare them with Data::Alias 1.30's Alias.xs and documented API. Start by reproducing the pop our @ISA failure and use system Perl as the behavior reference. Done means the documented alias, copy, and deref semantics pass the upstream Data::Alias and Data::Reuse 0.13 suites on supported backends, with unsupported cases and tested versions recorded.
由索引模型根據 Issue 內容生成。
描述
Summary
Port Data::Alias so CPAN distributions that rely on its aliasing API can run on PerlOnJava. Data::Reuse is one confirmed consumer. Data::Alias 1.30 contains XS code (Alias.xs) and its Perl module bootstraps that extension; the current CPAN MakeMaker path installs only the .pm file and cannot compile the XS component.
Reproduction and evidence
- Distribution: Data-Alias 1.30, module
Data::Alias. - In CPAN run
20261104-151051-20617, the PerlOnJava test run fails to loadData::Aliasacross 31 of 33 test programs withType of arg 1 to pop must be array (not constant item)at thepop our @ISAstatement inData/Alias.pmline 18. This is the first observed blocker; the package also needs an implementation for its XS-provided aliasing behavior. - On system Perl 5.42.2 (macOS), the same distribution compiled its XS extension and passed all available tests: 637 tests across 33 files. Two optional test files were skipped because
Devel::CallParserandTest::Pod::Coveragewere unavailable. Data::Reuse0.13 requiresData::Alias1.16+. In CPAN run20261106-154847-45334, its four test files all fail during dependency loading at the samepop our @ISAdiagnostic. The system-Perl oracle builtData::Aliasand passed all 127Data::Reusetests.- Targeted MetaCPAN reverse-dependency lookup: 14 unique released distributions have a runtime dependency on
Data::Alias; 2 are recent. Examples:Data::Reuse,Alias-Any,PerlX-Window, andXML-Dataset.
Scope
Implement the Data::Alias surface needed by real consumers, including alias, copy, and deref, with Perl-compatible parsing and runtime semantics. The upstream distribution documents context-transparent operations and aliasing of variables, elements, arguments, and aggregates. Do not treat successful parsing alone as completion: exercise the upstream suite and Data::Reuse against the implementation.
Acceptance criteria
use Data::Aliasloads without native XS and provides the supported API through PerlOnJava implementation code.- Focused tests cover
pop our @ISAparsing and the documented API semantics, validated against system Perl. - Relevant upstream
Data::Aliastests and theData::Reuse0.13 suite pass on PerlOnJava; test on both JVM and interpreter backends where supported. - Document any unsupported API cases and keep the tested distribution versions and results in the compatibility evidence.
Evidence references
- Data::Alias source
- Data::Reuse 0.13
- CPAN run IDs:
20261104-151051-20617(Data::Alias) and20261106-154847-45334(Data::Reuse).
- 主要語言
- Perl
- 星號
- 65
- 分支
- 8
- 平均合併
- 5 小時 57 分鐘
- 30 天內合併 PR
- 177
環境準備
- 提供 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
fglock/PerlOnJava 的其他 Issue
-
area:runtime documentation enhancement
難度 2/5 1-3 小時 新手友好度 72/100
fglock/PerlOnJava#1579 ·
維護者通常 1 天內回覆
-
Honor scalar context for sort returned from a subroutine可能已有人在做 @fglock 今天認領。 未關閉area:runtime bug
難度 3/5 1-2 天 新手友好度 25/100
fglock/PerlOnJava#1991 · 1 則留言 ·
維護者通常 1 天內回覆
-
area:parser area:unicode bug
難度 4/5 3-5 天 新手友好度 48/100
fglock/PerlOnJava#1989 ·
維護者通常 1 天內回覆
-
area:backend bug
難度 4/5 3-5 天 新手友好度 55/100
fglock/PerlOnJava#1981 · 1 則留言 ·
維護者通常 1 天內回覆
-
area:runtime bug
難度 4/5 3-5 天 新手友好度 57/100
fglock/PerlOnJava#1980 · 1 則留言 ·
維護者通常 1 天內回覆
查看 fglock/PerlOnJava 的全部 Issue
相似的 Issue
-
check_keywords.pl dies before reporting an unknown keyword category可能已有人在做 @zhaohai666 於 1 天前認領。 未關閉
難度 1/5 1 小時以內 新手友好度 87/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 76/100
-
難度 2/5 1-3 小時 新手友好度 72/100
libwww-perl/HTTP-Message#236 ·
-
1.severity: security
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆
-
wave-followup
難度 2/5 1-3 小時 新手友好度 74/100