infinite loop in gdc-0.19 with tempaltes

rm roel.mathys at gmail.com
Wed Oct 4 13:15:15 PDT 2006


On Gentoo (gdc-0.19), the following does land gdc in an infinite loop.
Don't know whether it does the same with the dmd compiler.

	private import std.stdio;

	template TFoo(int v : 1)
	{
		const int TFoo = 1;
	}

	template TFoo(int v)
	{
		const int TFoo = v * TFoo!(v-1).TFoo;
	}

	void main()
	{
		std.stdio.writefln(TFoo!(5).TFoo);
	}

changing the const int to an enum declaration does work though.

grtz,
roel



More information about the D.gnu mailing list