digitalmars.D.bugs - [Issue 539] New: can't instantiate nested template of same name
- d-bugmail puremagic.com (33/33) Nov 17 2006 http://d.puremagic.com/issues/show_bug.cgi?id=539
- d-bugmail puremagic.com (8/8) Nov 18 2006 http://d.puremagic.com/issues/show_bug.cgi?id=539
- d-bugmail puremagic.com (14/14) Sep 09 2007 http://d.puremagic.com/issues/show_bug.cgi?id=539
- d-bugmail puremagic.com (12/12) Nov 26 2010 http://d.puremagic.com/issues/show_bug.cgi?id=539
http://d.puremagic.com/issues/show_bug.cgi?id=539 Summary: can't instantiate nested template of same name Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: lovesyao hotmail.com template test(T){ T test(T i)(){ return i; } } int test2(int i)(){ return i; } template test3(T){ alias int dummy; T test3(T i)(){ return i; } } void main(){ assert(test2!(10)()==10);//ok assert(test3!(int).test3!(10)()==10);//ok assert(test!(int).test!(10)()==10);//compile error assert(test!(int)!(10)()==10);//syntax error } --
Nov 17 2006
http://d.puremagic.com/issues/show_bug.cgi?id=539 I think that more short syntax is needed for nested templates. template Test(T)(T t){} class Test(T)(T t){} void Test(T)(T t)(){} So I want that fix like test!(int)!(10)(). --
Nov 18 2006
http://d.puremagic.com/issues/show_bug.cgi?id=539 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Keywords| |rejects-valid By my analysis: - the line commented "compile error" should not compile - because test!(int) evaluates not to the template instance itself, but to the template function therein. - the line commented "syntax error" should compile and pass the assert. And BTW, please report compiler messages in full. --
Sep 09 2007
http://d.puremagic.com/issues/show_bug.cgi?id=539 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |andrei metalanguage.com Resolution| |INVALID 11:54:27 PST --- This is by design. There is no way to avoid the eponymous rewrite. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 26 2010