digitalmars.D.bugs - [Issue 15298] New: Can't call nested template function unless it's
- via Digitalmars-d-bugs (40/40) Nov 06 2015 https://issues.dlang.org/show_bug.cgi?id=15298
https://issues.dlang.org/show_bug.cgi?id=15298 Issue ID: 15298 Summary: Can't call nested template function unless it's anonymous Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P3 Component: dmd Assignee: nobody puremagic.com Reporter: thecybershadow gmail.com ///////////////////////// test.d ///////////////////////// // Call alias with a parameter. void callAlias(alias f)() { f(42); } alias Identity(alias X) = X; void main() { int local; // Declare an anonymous function template // which writes to a local. alias a = Identity!((i) { local = i; }); // Declare a function template which does // the same thing. void b(T)(T i) { local = i; } callAlias!a; // Works callAlias!b; // Error: function test.main.b!int.b is a // nested function and cannot be accessed // from test.callAlias!(b).callAlias } ////////////////////////////////////////////////////////// As far as I can tell, a and b are essentially the same, except one is anonymous. --
Nov 06 2015