On Wednesday, 12 December 2012 at 15:21:16 UTC, Ali Çehreli wrote:
On 12/12/2012 06:49 AM, Cube wrote:
> Better example code for my other problem. How can I make the
3rd foo
> work on Datas?
>
> --
> struct Data(T)
> {
> T elem;
> }
Data is a struct template, not a type (until instantiated).
> void foo(T)(T t) if(is(T == Data)) // ?
This works:
void foo(T)(T t) if(is(T == Data!T))
It doesn't seem to work for me, it uses the first foo. And I
can't see how it would work, actually.
If T is a Data!float, then wouldn't
is(T == Data!T)
be equal to
is(Data!float == Data!Data!float)
?
Ali