The Comma Operator's Deprecation Can't Come Soon Enough
Israel Rodriguez via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 15 09:52:34 PDT 2014
On Tuesday, 15 July 2014 at 08:01:40 UTC, Meta wrote:
> 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.
Nuh uh...The comma operator is too valuable to loose...
More information about the Digitalmars-d
mailing list