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








d-bugmail puremagic.com