Data::Dumper::Simple 0.11 fails because Filter::Simple source filtering is not applied correctly
まだ誰も着手していません。
評価
調査の方向性
まず jperl -Ilib t/10dump.t と対応する --interpreter コマンドを実行し、その後、失敗している upstream テスト t/20import.t、t/30autowarn.t、t/40noparens.t を比較します。use 文の後に行われる source-filter の登録と適用、特に Filter::Util::Call/Filter::Simple の統合と残りのソースの再トークン化を読みます。両方のバックエンドですべての4つのテストがパスし、プロジェクト固有の集中的な回帰テストでフィルターの動作がカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
Data::Dumper::Simple v0.11 fails its upstream test suite under PerlOnJava because its Filter::Simple source filter does not transform calls made after the module is imported.
This was observed in CPAN random tester run 20260913-205737-64746.
Reproduction
The upstream test suite passes under system Perl:
- 4 substantive test programs passed
- 35 tests passed in total
- The optional POD tests were skipped because their optional dependencies/files were unavailable
The same upstream tests fail under both PerlOnJava backends:
- JVM backend:
t/10dump.t,t/20import.t,t/30autowarn.t, andt/40noparens.tfail - Interpreter backend: the same four tests fail
Representative commands:
jperl -Ilib t/10dump.t
jperl --interpreter -Ilib t/10dump.t
Observed failures
t/10dump.t:Undefined subroutine &main::Dumpert/20import.t:Undefined subroutine &main::frobnitzt/30autowarn.t:Undefined subroutine &main::Dumpert/40noparens.t:Global symbol "$hash" requires explicit package name
Each failing test reports that it ran only its initial use_ok test before aborting.
Expected behavior
use Data::Dumper::Simple installs a Filter::Simple source filter. Calls such as:
Dumper($scalar, @array, %hash)
should be rewritten at compile time to an equivalent Data::Dumper->Dump call. The as => 'frobnitz' and autowarn options, as well as no-parentheses syntax, should work as they do under system Perl.
Initial diagnosis
The distribution is pure Perl and has no XS, native-library, display, network-service, or other platform prerequisite involved in these tests. The failures occur identically on the JVM and interpreter backends, indicating a shared frontend/source-filter compatibility problem rather than a backend-specific runtime issue.
The module uses Filter::Simple with FILTER_ONLY executable. The missing generated subroutine calls indicate that the filter is either not being applied to the remaining source after the import or its transformed source is not being correctly re-tokenized/compiled. The strict-vars error in t/40noparens.t is consistent with the no-parentheses source-filter path failing to produce the expected transformed expression.
Relevant implementation areas include source-filter registration and application after use statements, especially the Filter::Util::Call/Filter::Simple integration and remaining-source re-tokenization in the frontend.
Acceptance criteria
- All four substantive
Data::Dumper::Simpletest programs pass on the JVM backend. - The same tests pass on the interpreter backend.
as => 'frobnitz',autowarn, and no-parentheses calls are covered.- Add a project-owned focused regression test for the underlying source-filter behavior; retain the upstream distribution tests as integration coverage.
Environment
- CPAN random tester run:
20260913-205737-64746 - Distribution:
Data-Dumper-Simple-0.11 - Affected backends: JVM and interpreter
- System Perl: full substantive suite passes
- 主要言語
- Perl
- スター
- 64
- フォーク
- 6
- 平均マージ
- 5時間 38分
- マージ済み PR(30日)
- 170
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
fglock/PerlOnJava のほかの issue
-
area:cpan-port area:unicode bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
fglock/PerlOnJava#1508 · コメント 1 件 ·
-
area:cpan-port area:platform enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
fglock/PerlOnJava#1507 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
fglock/PerlOnJava#1506 ·
fglock/PerlOnJava の issue をすべて見る
似ている issue
-
documentation Needs Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
trizen/youtube-viewer#456 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
connectivity オープン
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
-
Common US ingredient names are not recognized, so about 12.4k US products miss an allergen warning オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
openfoodfacts/openfoodfacts-server#14657 · コメント 4 件 ·