dmd loops endlessly on this code: ---------------- import std.typecons; string bug(T..., U : tuple!T)(tuple!T t); dmd aborts on this code: ---------------- import std.typecons; string bug(T, U : tuple!T)(tuple!T t); enum e = bug(tuple!int);
(In reply to comment #1) > dmd loops endlessly on this code: > ---------------- > import std.typecons; > string bug(T..., U : tuple!T)(tuple!T t); Produces the message: test.d(2): Error: template test.bug(T..., U : tuple!T)(tuple!T t) template tuple parameter must be last one > dmd aborts on this code: > ---------------- > import std.typecons; > string bug(T, U : tuple!T)(tuple!T t); > enum e = bug(tuple!int); Produces the message: test.d(3): Error: tuple (int _param_0) is not callable using argument types () This is with dmd 2.064 head.
Should this be added to the test suite to prevent regression?