Skip to content

Fix Object::HashBase deferred role composition - #1149

Merged
fglock merged 14 commits into
masterfrom
fix/object-hashbase-role-tiny
Aug 29, 2026
Merged

Fix Object::HashBase deferred role composition#1149
fglock merged 14 commits into
masterfrom
fix/object-hashbase-role-tiny

Conversation

@fglock

@fglock fglock commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Closes #1102

Fix Object::HashBase deferred Role::Tiny composition and BEGIN-installed
constant accessors without package-name heuristics.

Validation completed:

  • System Perl: unit/dynamic_constant_sub_inlining.t
  • JVM and interpreter: unit/dynamic_constant_sub_inlining.t
  • JVM and interpreter: Object::HashBase 0.018 HashBase.t, role_consume.t, and role_modifiers.t
  • JVM: focused overload constant, overloaded regex constant, and regex source-policy regressions
  • make test-unit: zero failures
  • git diff --check

Status: ready for UAT.

@fglock fglock changed the title WIP: track scoped %^H guard lifecycle Fix Object::HashBase deferred role composition Aug 27, 2026
@fglock
fglock marked this pull request as ready for review August 27, 2026 11:55
@fglock
fglock marked this pull request as draft August 27, 2026 12:17
fglock added a commit that referenced this pull request Aug 28, 2026
Snapshot of pre-existing implementation before completing PR #1149.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock marked this pull request as ready for review August 28, 2026 11:16
fglock and others added 14 commits August 29, 2026 14:37
Track and release compile-time hint guards at lexical scope boundaries.

Refs: #1102

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Preserve the in-progress hint scope and inheritance work before further
diagnosis.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Preserve Perl BEGIN-installed constant-sub folding for byte strings.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Run deferred Role::Tiny composition when its %^H scope ends.

Closes #1102

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Snapshot of pre-existing implementation before completing PR #1149.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Preserve the syntactic glob-dereference marker and lexical constant CV
metadata through parser, compiler, lazy materialization, and runtime graph
transfers. Keep compile-time CODE pragma handlers visible after BEGIN blocks,
while releasing only temporary reference guards.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Give perl5_t/t/op/tie_fetch_count.t a 600-second per-test timeout floor in
the compatibility runner, while preserving larger caller-selected limits.
This avoids classifying zero-TAP timeout results as test regressions.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Raise the compatibility runner floor for op/tie_fetch_count.t to 1800
seconds after the 600-second UAT retry still produced zero TAP output.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Recognize the experimental::equ category added by the synchronized Perl core
tests in both the warnings pragma compatibility data and JVM warning tables.
Add backend coverage while allowing validation on older system Perl versions
that predate the category.

Generated with [OpenAI Codex](https://openai.com/codex)

Co-Authored-By: OpenAI <2235562193+openai-codex[bot]@users.noreply.github.com>
The synchronized re/anyof.t run completed in 1459 seconds on the baseline
but reached the previous 1800-second watchdog during UAT. Raise the floor to
2400 seconds and keep coverage for direct, threaded, and Windows paths.

Generated with [OpenAI Codex](https://openai.com/codex)

Co-Authored-By: OpenAI <2235562193+openai-codex[bot]@users.noreply.github.com>
Document the build and launch checks required before handing a checkout to
UAT, including inspection of out.json for pre-TAP failures.

Generated with [OpenAI Codex](https://openai.com/codex)

Co-Authored-By: OpenAI <2235562193+openai-codex[bot]@users.noreply.github.com>
Preserve empty caller hint snapshots after BEGIN blocks delete the last
lexical hint, and accept Perl's newer experimental equality operators so the
synchronized core test suite reaches TAP. Add permanent regression coverage
for both behaviors.

Generated with [OpenAI Codex](https://openai.com/codex)

Co-Authored-By: OpenAI <2235562193+openai-codex[bot]@users.noreply.github.com>
@fglock
fglock force-pushed the fix/object-hashbase-role-tiny branch from 2279a1b to ea56307 Compare August 29, 2026 12:38
@fglock
fglock merged commit f189b3b into master Aug 29, 2026
2 checks passed
@fglock
fglock deleted the fix/object-hashbase-role-tiny branch August 29, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Object::HashBase 0.018 fails constants and Role::Tiny composition

1 participant