Do we need Mat, Vec, TMmat, Diag, Sym and other matrix types?

jmh530 john.michael.hall at gmail.com
Thu Mar 15 14:13:25 UTC 2018


On Thursday, 15 March 2018 at 12:49:22 UTC, jmh530 wrote:
> [snip]
>
> It looks like it should expand the alias earlier. No problem 
> with auto foo (T)(S!(1, T) v) {};

Also, this issue also shows up in mir.ndslice.traits. I had to do 
the equivalent of isV below. It doesn't work to do the alternate 
version. However, given that you have the traits, then you can 
use them in a template constraint. So you have to repeat yourself 
in the trait once, rather than bunches of times in each function 
that calls them.

enum bool isV(T) = is(T : S!(1, U), U);
enum bool isV_alternate(T) = is(T : V!(U), U);


More information about the Digitalmars-d mailing list