You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#1354 tracks PHP 8 #[...] attributes on classes, methods, properties, and parameters. Wave 3 is 12/13 with only attributes open (#1380, #1751). There is no compliance PHPT proving decorated declarations parse and execute (attributes ignored at runtime per PHP semantics).
Contributors cannot land #1354 incrementally without a green VM slice in ci-fast.sh (#1904 waits on this).
Problem
#1354 tracks PHP 8
#[...]attributes on classes, methods, properties, and parameters. Wave 3 is 12/13 with only attributes open (#1380, #1751). There is no compliance PHPT proving decorated declarations parse and execute (attributes ignored at runtime per PHP semantics).Contributors cannot land #1354 incrementally without a green VM slice in
ci-fast.sh(#1904 waits on this).Scope (v1 — VM only)
UnsupportedRegistryentries for decorated declarationstest/compliance/cases/language/attributes_*.phptOut of scope: JIT/AOT attribute reflection,
#[\Attribute]validation, enum targets.Implementation hints
vendor/nikic/php-parserAttributeGroup,Attributenodeslib/Compiler.phpcompileClassLike,compileClassMethodattrGroupsto symbol metadata baglib/VM.phplib/Lint/UnsupportedRegistry.phpClass_/ClassMethodtest/compliance/cases/language/attribute_class.phpt#[\AllowDynamicProperties]class runsattribute_method.phpt#[\Deprecated]still callableATTRIBUTES_COMPLIANCE_GATE=1after PHPTs greenSuggested PHPT (minimum)
Acceptance criteria
Docker:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \ ./script/ci-fast.sh --filter attributeDependencies
Links