On 24 August 2024 19:16:13 BST, Stephen Reay <[email protected]> wrote:
>
>> On 25 Aug 2024, at 00:01, Ilija Tovilo <[email protected]> wrote::
>>
>> 1. Flipping lookup order: ~a few dozens of changes
>> 2. Global only: ~3 000 changes
>> 3. Local only: ~139 000 changes
>There's also an impact on internals development/RFC with either (1) or (2): *any* proposed
>new global function in the standard library now has a BC barrier to pass if it *might* conflict with
>one defined by anyone in userland, in any namespace.
Just to correct this point, this is only a problem for option 1. With option 2, if the function
exists only in a namespace, you have to unambiguously refer to that namespaced name (via whatever
syntax), and there is no chance of collision with a global name in future. For me, that's one
of the biggest advantages of that option.
And to repeat myself: I agree that option 3 is the ideal in theory, but in practice the short/medium
term impact is so big, I'm not convinced it's worth it for the long term gain.
Rowan Tommins
[IMSoP]