Why do ints defined in template mixins have garbage values?

Johannes Riecken johannes.riecken at gmail.com
Tue Dec 11 21:09:55 UTC 2018


Code:

import std.conv;
import std.stdio;

mixin template genInts()
{
   enum arr = [0,1];
   static foreach (t; arr) {
     mixin("int i" ~ to!string(t) ~ " = 5;");
   }
}

void main() {
   mixin genInts!();
   writeln(i0);
   writeln(i1);
}


Expected output:
5
5

Actual output is two garbage integer values.


More information about the Digitalmars-d-learn mailing list