December 03, 2007 [Issue 1713] New: foreach index with tuples and templates fails | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=1713 Summary: foreach index with tuples and templates fails Product: D Version: 2.008 Platform: PC OS/Version: Linux Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: dhasenan@gmail.com --- import std.stdio; import std.traits; import std.metastrings; void main () { pragma(msg, Multi!(Object, "toString")()); } string Multi (T, string name) () { foreach (i, method; __traits(getVirtualFunctions, T, name)) { alias typeof(method) func; // SingleMethod fails.... Single!(i)(); // but Foo succeeds Foo!(ParameterTypeTuple!(func))(); } return ``; } string Single (int idx)() { return ``; } string Foo (U...) () { return ``; } --- The error message given is: Error: cannot evaluate Single() at compile time Obviously the index is a compile-time constant, or I couldn't use it as a template parameter. And the function without the template works, and giving a literal constant works. So I don't know what's going on. -- |
February 16, 2008 [Issue 1713] foreach index with tuples and templates fails | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1713 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #1 from bugzilla@digitalmars.com 2008-02-16 06:02 ------- Fixed dmd 2.010 -- |
Copyright © 1999-2021 by the D Language Foundation