Skip to content

fix: save cop_features bits in compiled COP structs#103

Open
atoomic wants to merge 1 commit intobc542from
koan.atoomic/fix-cop-features
Open

fix: save cop_features bits in compiled COP structs#103
atoomic wants to merge 1 commit intobc542from
koan.atoomic/fix-cop-features

Conversation

@atoomic
Copy link
Copy Markdown
Collaborator

@atoomic atoomic commented Feb 19, 2026

The cop_features field was hardcoded to 0 in compiled output. This caused feature flags to be lost when the feature bundle is FEATURE_BUNDLE_CUSTOM (e.g. explicit 'use feature "say"'), since the interpreter checks cop_features.bits[] via FEATURE_IS_ENABLED_MASK only when HINT_LOCALIZE_HH is set in cop_hints.

Added cop_features_bits() XS accessor to B::COP in C.xs and save_cop_features() method in COP.pm to properly serialize the cop_features struct into the generated C initializer.

The cop_features field was hardcoded to 0 in compiled output.
This caused feature flags to be lost when the feature bundle is
FEATURE_BUNDLE_CUSTOM (e.g. explicit 'use feature "say"'), since
the interpreter checks cop_features.bits[] via FEATURE_IS_ENABLED_MASK
only when HINT_LOCALIZE_HH is set in cop_hints.

Added cop_features_bits() XS accessor to B::COP in C.xs and
save_cop_features() method in COP.pm to properly serialize the
cop_features struct into the generated C initializer.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant