> On Aug 23, 2024, at 9:07 AM, Rowan Tommins [IMSoP] <imsop....@rwec.co.uk>
> wrote:
>
> On Fri, 23 Aug 2024, at 13:45, Mike Schinkel wrote:
>>> On Aug 23, 2024, at 8:33 AM, Rowan Tommins [IMSoP] <imsop....@rwec.co.uk>
>>> wrote:
>>> On 23 August 2024 13:04:22 BST, Mike Schinkel <m...@newclarity.net> wrote:
>>>> And how can it occur without an explicit `use
>>>> AcmeComponents\SplineReticulator\Utilities\Text\Text` statement, which I
>>>> proposed would override the automatic `use`, anyway?
>>>
>>> I'm not sure what you mean. Right now, that's the function name that would
>>> be looked up for your example code (other than a couple of unrelated typos
>>> in your example). So if, for some reason, someone was relying on that,
>>> their code would break with your "automatic use".
>>
>> I must be missing something. Can you give a specific example showing
>> how the automatic use would conflict with something other than a root
>> namespace?
>
> You already gave the example yourself, you just misunderstood what its
> current behaviour is. Here it is, with the typos fixed: https://3v4l.org/6eD3N
>
> As you can see from the error message, it doesn't look up "Text\strlen()", it
> looks up "AcmeComponents\SplineReticulator\Utilities\Text\Text\strlen()"
>
> Or to be even clearer: https://3v4l.org/ojVcP
Thank you for clarifying.
You got me there.
And it is a good illustration why I continue to really dislike how namespaces
work. Too many footguns that are too easy to misunderstand.
But it is what it is, I guess.
-Mike