Nikita, Shouldn't #3 make more sense taking into consideration this commit: https://github.com/guilhermeblanco/php-src/commit/872a97c8dbc1c8823985d9a0305938c508865a0d It is part of a followup PR https://github.com/php/php-src/pull/937 that removes compiler code checks and delegates to bison, since it's a grammar issue to accept "trait Foo extends Bar".
Regards, On Mon, Dec 8, 2014 at 3:06 PM, Nikita Popov <nikita....@gmail.com> wrote: > On Mon, Dec 8, 2014 at 11:45 AM, Dmitry Stogov <dmi...@zend.com> wrote: > >> I don't see technical problems with the patch. >> However, I also don't see any significant benefits. >> From the user perspective it'll just change error messages and prevent >> "final final class" declarations. >> >> Nikita, what do you think? >> >> Thanks. Dmitry. >> > > The three parts: > > 1. Use ZEND_ACC_FINAL instead of ZEND_ACC_FINAL_CLASS: Looks sensible, > given how many extensions have confused this. We should be careful that > this change does not make anything final that many people extended (even if > it was originally meant to be final.) > > 2. Don't use magic value for ZEND_ACC_TRAIT: Also makes sense, the > behavior of the current value is pretty unclear. > > 3. Changing the grammar to separate class/trait declarations and have a > modifier list: This doesn't really make much sense as things currently are > (only one modifier allowed). I'd suggest to change this when we actually > support multiple modifiers (e.g. with the static classes patch). > > Nikita > -- Guilherme Blanco MSN: guilhermebla...@hotmail.com GTalk: guilhermeblanco Toronto - ON/Canada