Good Morning Internals, I am aware that traits in general are a topic where people can have strong opinions, so I wanted to get an idea of initial thoughts on this before deciding if it is worth looking into any further.
At the moment, there are three functions in SPL that allow access to what a given class is using in some way: * `class_implements` * `class_parents` * `class_uses` (returns the traits the current class uses) `class_uses` is unique out of the three in that it only returns traits declared on the current class as opposed to the parent class (and higher in inheritance). While this is documented in the manual, looking at the original bug ticket that introduced `class_uses` (https://bugs.php.net/bug.php?id=55266) then it isn't documented why it only returns traits on the current class. As far as I can tell from the bug ticket and the code, `class_implements` was copied for `class_uses` and while `_zend_class_entry->interaces` contains all interfaces (including from the parent classes), `_zend_class_entry->interaces->trait_names` does not. So, in terms of my question; what would be the general thoughts on a new optional argument to `class_uses` that iterates to each parent class, adding the traits from the parent as well? Thanks, Robert
