Since dmd 2.096.0: import `x.t` is used as a type

Steven Schveighoffer schveiguy at gmail.com
Mon May 3 15:41:02 UTC 2021


On 5/3/21 11:04 AM, jmh530 wrote:
> On Sunday, 2 May 2021 at 18:36:25 UTC, Basile B. wrote:
>> [snip]
>>
>> BTW during the PR review the problem you encounter [was 
>> anticipated](https://github.com/dlang/dmd/pull/12178#issuecomment-773886263) 
>> si I guess you're stuck with [the author 
>> answer](https://github.com/dlang/dmd/pull/12178#issuecomment-773902749), 
>> i.e "this worked because of a special case".
>> [snip]
> 
> "this worked because of a special case" or "I'm sure they won't mind a 
> bit of change" are not exactly the most fulfilling arguments to me. 
> Don't we have transition switches for a reason?
> 
> The other solution is to keep the special case and then add additional 
> logic to handle when the thing being looked up is not public (or whatever).

Yeah, I think the situation with top-level modules and package names is 
kind of an elephant in the room. If you have any packages which have 
top-level modules, you have lots of weird corner cases (even before this 
change) that make things difficult.

IMO, we should address this at a design level. What that means, I'm not 
sure. At any point alias is going to throw a monkey wrench into anything 
we could come up with. But it should be at least possible to keep 
existing code compiling.

-Steve


More information about the Digitalmars-d-learn mailing list