Hi Ben: On 03 Jan 2011, at 06:58, Ben Schmidt wrote: > I'm a latecomer here, but... > > Stefan, doesn't this conflict with what you've written here (and the > test cases in SVN)?: > > http://wiki.php.net/rfc/horizontalreuse#handling_of_propertiesstate > > Or is what is happening here that the properties in traits are treated > essentially as declarations rather than definitions, triggering errors > but not actually creating properties, and you think they should actually > create properties?
Sorry, I do not understand. Is the text in the RFC contradicting or not clear enough about what the test cases show? The intention was to provide the developer with hints when it is possible that state is incompatible. Until now, the reason why there is not fancy mechanism for conflict resolution for properties in traits is, first, the dynamic nature of PHP which makes certain things like 'renaming' inconsistent with the rest of the language, especially its meta-programming facilities, and second, the added problem with state, that you actually have many usecases where the state needs to be merged. However, merging behavior is not possible, which simplifies the language constructs for handling behavioral conflicts. Best regards Stefan -- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php