On Thursday, 11 May 2023 at 13:31:58 UTC, Steven Schveighoffer
wrote:
On 5/10/23 11:22 PM, Paul Backus wrote:
In fact, for this particular example, there are actually two
enums in the DMD source code that these symbols could be
coming from: `enum TargetOS` in `cli.d`, and `enum OS` in
`target.d`. So you would have to scroll up and look at the
imports to disambiguate.
Then you misunderstand the DIP (as did Walter). There is only
one enum that can be involved -- typeof(target.os).
Oh no, I'm perfectly aware that, from the compiler's perspective,
it would be unambiguous--only one of the two enums would actually
be in scope. But as a human reader, in order to figure out which
one, I'd have to scroll to the top of the file and read through
~25 lines of imports (or rely on tooling, but there are contexts
where that isn't available, like a Github code review).