Pathological import symbol shadowing
snarwin at gmail.com
Sat Nov 14 14:43:16 UTC 2020
On Saturday, 14 November 2020 at 14:13:32 UTC, Kagamin wrote:
> On Saturday, 14 November 2020 at 03:10:34 UTC, Timon Gehr wrote:
>> It should just use the standard import rules with overload
>> sets. Then the code above would just work and no hijacking
>> would be possible.
> You mean the code should not compile because symbols from
> different modules are in different overload sets? But then get
> from curl will always conflict with get in object, and thus
> will be unusable without renaming or FQN.
An ambiguity error only occurs if a matching function is found in
both overload sets.  Since std.net.curl.get and object.get
have completely different signatures, no function call will ever
match both of them, so there will be no error.
More information about the Digitalmars-d