On Saturday, 7 April 2018 at 06:26:24 UTC, Uknown wrote:
What I did notice though is that when
`string list2string(T)(List!T list)` was changed to
`string list2string(T)(VariantN!(16LU, Nil, Tuple!(T, "head", This*, "tail")) list)`
The compiler correctly deduce `T` to be `int`

Interesting. Looks like this is an issue with aliases, because I get the error with this code too:

--- test.d
import std.typecons: Tuple, tuple;

alias Pair(T) = Tuple!(T, T);

void foo(T)(Pair!T p)
{
    return;
}

unittest {
    Pair!int x = tuple(1, 2);
    foo(x);
}
---

Reply via email to