import in mixin template

vitus via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed May 25 22:20:25 PDT 2016


Code:

mixin template MIXIN(){
	import std.stdio;

         alias m = writeln;  //OK
}

class CLASS{

	mixin MIXIN;

	alias wln1 = writeln;			//Error: 'writeln' is not defined, 
perhaps you need to import std.stdio; ?
	alias wln2 = std.stdio.writeln;	//OK
	void test(){
		wln2("test");				//OK
		std.stdio.writeln("test");	//Error: Deprecation: module 
std.stdio is not accessible here, perhaps add 'static import 
std.stdio;'
	}
}

Why 'alias wln1 = writeln;' doesnt't work but 'alias wln2 = 
std.stdio.writeln;' work when import is not static?
Why 'wln2("test");' work but 'std.stdio.writeln("test");' 
doesn't? (changing import to static import doesn't change 
anything)


More information about the Digitalmars-d-learn mailing list