[dmd-internals] Why are there suddenly tons of deprecation messages about imports in Phobos?
Brad Roberts via dmd-internals
dmd-internals at puremagic.com
Mon Feb 22 14:27:28 PST 2016
On 2/22/16 1:40 PM, David Nadlinger via dmd-internals wrote:
> On 22 Feb 2016, at 22:20, Brad Roberts via dmd-internals wrote:
>> While I can understand and work with that definition, it's never been the way I've thought of
>> selective import. I always thought of them as exactly like regular imports with a filter applied.
>> IE, import this module, but just this set of symbols instead of all of them.
>
> I haven't followed the other recent changes all too closely, but I'm under the the impression that
> they always behaved differently regarding overload/conflict resolution, and still do so right now.
> For example, `import a; import b : foo; foo();` would work even if `a` also contained `foo()`, while
> there would normally be a conflict without the selective import.
>
> This is not to say that I'm particularly fond of that difference, though. I'm just pointing out that
> what you mention has not been a good working model for how selective imports work for quite a long
> while now – the mismatch is not just a consequence of the latest changes.
>
> — David
I understand and acknowledge that. However, in my cases (which I admit aren't terribly significant)
it's worked out correctly.
What I'm trying to say is how I've expected them to work. I really don't think tacking on a filter
list should be changing the semantics. A lot of the time I start off with just "import foo" and
then later trim that down to "import foo : sym1, sym2, etc" based on what I ended up using. IMHO,
that change should be _trivially_ correct. And it's actually not given the current (and past)
definition.
More information about the dmd-internals
mailing list