On Wednesday, 20 January 2016 at 22:13:09 UTC, Walter Bright
wrote:
You can always write a module that all it does is import a
bunch of other modules, with a bunch of aliases which can be
used to make those imports appear in another namespace:
----module core.stdcpp.vector----
extern (C++, std) { struct vector { } }
----module core.stdcpp.string----
extern (C++, std) { struct string { } }
----module stl------
private import core.stdcpp.vector;
private import core.stdcpp.string;
...
extern (C++, std)
{
alias core.stdcpp.vector.std.vector vector;
alias core.stdcpp.string.std.string string;
...
}
---module user-----
import stl;
std.vector v;
std.string s;
The thought of needing to do that for (potentially) every single
symbol being imported is depressing. What happened to DRY?