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);
Comment #2 by bugzilla — 2013-10-06T23:32:59Z
(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.
Comment #3 by hsteoh — 2013-10-09T09:45:18Z
Should this be added to the test suite to prevent regression?