Hello internals, I've been thinking about having an "internal" attribute that will emit a warning if called from outside it's left-most namespace.
It might look something like this: namespace MyCompany\PackageA { #[\Internal] function doStuff() {} } namespace OtherCompany\PackageB { \MyCompany\PackageA\doStuff(); // warning emitted } namespace MyCompany\PackageB { \MyCompany\PackageB\doStuff(); // left-most part of namespace matches, no warning } This would allow for library maintainers to mark internal constructs as such and provide users with feedback that they are using code that may be changed without any notice. Any thoughts? Robert Landers Software Engineer Utrecht NL