On 12/10/2011 3:11 AM, Walter Bright wrote:
That's because

 Matrix!(int, cast(int)1)

is considered a different template instantiation (and hence a different type) from

 Matrix!(int, cast(uint)1)

Instantiation types are based on the arguments' types, not the parameters' types.

If you use my suggestion for the shorthand notation, your code will work as you expect.

Yup, I started using it as soon as Timon mentioned it (thanks for the suggestion!). But I was referring to the bug, not to the workaround. :) (I don't understand why Matrix!(int, cast(int)1) is considered a different instantiation, when it can't even be instantiated...)

Reply via email to