[Issue 14301] [2.067-rc1] Private symbols of module conflicts with public from another

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Wed Mar 18 18:38:31 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=14301

Martin Nowak <code at dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code at dawg.eu

--- Comment #9 from Martin Nowak <code at dawg.eu> ---
(In reply to Ketmar Dark from comment #8)
> there is Kenji's import system rewrite[1], which fixes this, and many other
> things. yes, it will break some code that relies on current invalid
> implementation, but this *must* be done sooner or later. better do it sooner.
> 
> so far it's "opened for discussion" by Walter, which effectively means "we
> can safely forget about it, nothing will be done or even discussed anymore".

It's a bit more complex than that.

There are 3 different import "bugs", issue 313, issue 314, and the visibility
of private symbols (http://wiki.dlang.org/DIP22,
https://github.com/D-Programming-Language/dmd/pull/739).

Kenji made a nice fix for issue 313, but conflated it with a fix for issue 314
that removes aliases for selective imports. The latter is problematic, we had
to revert the last 314 fix because of this. It's also highly debatable to
remove the aliases and by this time a lot of people rely on them. It would be
much simpler to fix 314 by correctly applying protection.
https://github.com/D-Programming-Language/dmd/pull/3416#issuecomment-40041165
https://github.com/D-Programming-Language/dmd/pull/3407#issuecomment-66280773

The way imports need to be fixed is fairly clear by now.

--


More information about the Digitalmars-d-bugs mailing list