[Issue 1464] New: "static" foreach breaks CTFE
BCS
BCS at pathlink.com
Fri Aug 31 13:41:40 PDT 2007
d-bugmail at puremagic.com wrote:
> http://d.puremagic.com/issues/show_bug.cgi?id=1464
>
> Summary: "static" foreach breaks CTFE
> Product: D
> Version: 2.003
> Platform: PC
> OS/Version: Windows
> Status: NEW
> Keywords: rejects-valid
> Severity: normal
> Priority: P2
> Component: DMD
> AssignedTo: bugzilla at digitalmars.com
> ReportedBy: reiner.pope at gmail.com
>
>
> The following code gives compile-time error, "cannot evaluate gen() at compile
> time." Removing the "i" from the foreach fixes this.
>
> template Tuple(T...)
> {
> alias T val;
> }
>
> alias Tuple!(int) Tup;
>
> string gen()
> {
> foreach (i, type; Tup.val)
> {
> }
> return null;
> }
>
> string text = gen();
>
>
That compiles at all? in the 1.x versions you can't have an alias of a
tuple in a template other than if the tuple name is the same as the name
of the template (It's a known bug, not a language restriction)
More information about the Digitalmars-d-bugs
mailing list