package.d imports
    Lemonfiend 
    lemon at fie.nd
       
    Thu Jan 16 07:46:00 PST 2014
    
    
  
The following behavior seems odd to me. Could anyone explain why 
it works as it does? (Does package.d have a page on dlang.org?)
--- main.d
module main;
void main()
{
	test1();
	test2();
}
void test1()
{
	import pack;
	// works
	foo();
	// works, did not expect it to
	pack.foo();
	// does not work: Error: undefined identifier 'sub'
	//pack.sub.foo();
}
void test2()
{
	import pack.sub;
	// works
	foo();
	// works, even more unexpectedly
	pack.foo();
	// works
	pack.sub.foo();
}
--- package/pack.d
module pack;
public import pack.sub;
--- package/sub.d
module pack.sub;
void foo()
{
	import std.stdio;
	writeln("hello");	
}
    
    
More information about the Digitalmars-d-learn
mailing list