[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