Hi Robert,

> 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

It seems to be a similar concept to package-private in Java, is my 
understanding correct?

Regards,

Saki

Reply via email to