The Comma Operator's Deprecation Can't Come Soon Enough

Meta via Digitalmars-d digitalmars-d at puremagic.com
Tue Jul 15 01:01:39 PDT 2014


Spot the bug:

template flattenedType(R, uint depth = uint.max)
if (isInputRange!R)
{
	static if (depth > 0)
	{
		static if (!isInputRange!(typeof(R.init.front)))
		{
			alias flattenedType = typeof(R.init.front, depth - 1);
		}
		else
		{
			alias flattenedType = flattenedType!(typeof(R.init.front), 
depth - 1);
		}
	}
	else
	{
		alias flattenedType = typeof(R.init.front);
	}
}

I'll give you a hint: the bug causes flattenedType!R to always 
returned uint.


More information about the Digitalmars-d mailing list