caller reports void context for scalar eval caller frame
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start with the caller-frame context tracking path used by caller(1)[5] and the existing upstream regression test t/002_must_be_list.t. Reproduce the scalar and void eval cases on both JVM and interpreter backends, then trace how each backend reports the caller context. Done means the project-owned regression coverage passes with system Perl and the upstream suite passes on both PerlOnJava backends.
由索引模型根据 Issue 内容生成。
描述
Summary
caller(1)[5] reports void instead of scalar for the caller frame when a failing call is made through a scalar eval.
Reproducer
Call Call::Context::must_be_list() from foo, where try_it returns foo(), then run:
eval { try_it() };
scalar eval { try_it() };
scalar eval { () = try_it() };
The upstream Call-Context 0.05 test t/002_must_be_list.t expects the second call's exception to identify scalar context and the third call to succeed.
Evidence
- PerlOnJava
b8e16493d, JVM backend, Java 24.0.2, macOS arm64: 1/6 assertions failed int/002_must_be_list.t; actual diagnostic saysfoo called in non-list (void) contextduring the scalar eval. - Interpreter backend on the same checkout also reports
voidfor the scalar case and has an additional failure in the list case. - System Perl 5.42.2 passes all 6 assertions; the archived CPAN oracle for run
20261021-223510-14962passes all 13 tests across all three test files. - The same CPAN run records the PerlOnJava failure as 12/13 tests, with test 5 failing in
t/002_must_be_list.t. - The archived regression record identifies
d5170d2d0as the last-known-working version.
The distribution is pure Perl. This appears to be a PerlOnJava caller-frame context tracking issue; the JVM and interpreter backends are both affected.
Acceptance criteria
caller(1)[5]reports scalar for the scalar-eval call and undef for the void call.- The upstream
Call-Context0.05 test suite passes on both PerlOnJava backends. - Add permanent project-owned regression coverage and validate it with system Perl.
- 主要语言
- Perl
- 星标
- 65
- 派生
- 8
- 平均合并
- 6 小时 28 分钟
- 30 天内合并 PR
- 184
环境准备
- 提供 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 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
fglock/PerlOnJava#1885 ·
维护者通常 1 天内回复
-
area:performance enhancement
难度 5/5 一周以上 新手友好度 20/100
fglock/PerlOnJava#1863 · 3 条评论 ·
维护者通常 1 天内回复
-
area:memory area:performance area:runtime bug
难度 4/5 3-5 天 新手友好度 52/100
fglock/PerlOnJava#1860 · 2 条评论 ·
维护者通常 1 天内回复
-
Mojolicious controller and WebSocket lifetimes regress with #1642 integration可能已有人在做 @fglock 于 7 天前认领。 未关闭area:backend area:memory area:runtime bug
难度 4/5 3-5 天 新手友好度 12/100
fglock/PerlOnJava#1794 ·
维护者通常 1 天内回复
查看 fglock/PerlOnJava 的全部 Issue
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 90/100
beyondgrep/ack3#413 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 64/100
-
Type: Bug
难度 2/5 1-3 小时 新手友好度 78/100
inverse-inc/packetfence#9605 ·
维护者通常 10 天内回复