1. Why are imports visible from outside the package when you do
selective imports?
//mod.d
module mod;
import std.stdio : writeln;
public void greet()
{
writeln("Hello");
}
//app.d
import mod;
void main()
{
mod.greet();
writeln("You should not be seeing this.");
}
Compiles just fine and prints "You should not be seeing this."
just fine with `$dub build`. Even if I use package imports the
result stays the same.
2. Classes that do not inherit (base classes) actually inherit
from 'Object`. For which, often times one converts the Object to
its subclasses. What's the rationale behind this?
Isn't this going to add overhead?