On 01/25/2012 01:33 PM, Manu wrote:
On 23 January 2012 12:47, Don Clugston <d...@nospam.com
<mailto:d...@nospam.com>> wrote:
On 22/01/12 03:56, Nick Sabalausky wrote:
"Jonathan M Davis"<jmdavisp...@gmx.com
<mailto:jmdavisp...@gmx.com>> wrote in message
news:mailman.670.1327197408.__16222.digitalmars-d@puremagic.__com...
On Saturday, January 21, 2012 22:28:20 equi...@atw.hu
<mailto:equi...@atw.hu> wrote:
Should not module C see c1? Because it cannot
see it. Even if the
import
is not private.
No. imports are private by default There's no point
in marking them as
private. If you want module C to see what module B
is importing, then
module B
needs to import it publicly. e.g.
module B;
public import A;
- Jonathan M Davis
It makes sense. But did it always work like this?
It has for several years at minimum. But I don't know how it
works in D1,
and
it may have worked differently in the very beginning of D2.
I don't know.
But
as far as I know, it's always worked this way.
I have a vague recollection of it being the other way around at
one point,
but that probably would have been pre-1.0. *Definitely* pre-2.0.
(Or I might
just be thinking of something else...)
Version D 0.163 Jul 18, 2006
New/Changed Features
Imports now default to private instead of public. Breaks
existing code.
Added static imports, renamed imports, and selective importing
What is a static import? It sounds like something I might have needed
last night...
A static import is an import that makes the module visible but does not
import any of it's members into the current scope:
static import std.stdio;
void main(){
// writeln("hello, world!"); // undefined symbol
std.stdio.writeln("hello, world!"); // ok
}