- Trait properties can now have array default values (e.g. `trait T { public opts = [1, 2, 3]; }`, including empty, keyed and nested arrays). The default is materialized as a persistent immutable array on the trait's class entry, so it is carried into both Zephir classes and PHP userland classes that `use` the trait, matching native PHP trait semantics. Static array defaults on traits remain rejected (Zephir resolves `self::` in a trait to the trait itself, so each using class could not get its own copy) [#2607](https://github.com/zephir-lang/zephir/issues/2607)
0 commit comments