digitalmars.D.bugs - [Issue 2279] New: alias within function template
- d-bugmail puremagic.com (21/21) Aug 12 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2279
- d-bugmail puremagic.com (26/26) Aug 12 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2279
http://d.puremagic.com/issues/show_bug.cgi?id=2279 Summary: alias within function template Product: D Version: 1.034 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: Daniel919 web.de template Test(T) { alias int V; void test(T t) {} } Test!(int).test(0); //OK template test(T) { alias int V; void test(T t) {} } test!(int)(0); //Error test(0) //Error template test(T) { void test(T t) {} } test!(int)(0); //OK test(0); //OK --
Aug 12 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2279 2korden gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID This is not a bug, it is by desing. If you create exactly one symbol (an alias, variable or a function) and it matches the template name, you can access it without fully qualified name, like this: template foo() { const int foo = 42; } const int f = foo(); but if you introduce a second symbol then you should fully specify it: template foo() { void foo() {} int bar(int i) { return i; } } foo!().foo(); int bar = foo!().bar(42); http://www.digitalmars.com/d/1.0/template.html --
Aug 12 2008