On 9/18/16 6:23 AM, Nick Treleaven wrote:
Besides the other comments, we still have to instantiate Awesome!int somewhere for the tests to run, which could be forgotten or improperly done, failing silently. (Also int is arbitrary, unhelpful for the uninitiated).
I don't see that as much of a hurdle seeing as any template written has a few "obvious" types it'll work with. To encapsulate that if needed:
struct Awesome(A, B, C) { private enum ut = is(A == int) && is(B == int) && is(C == int); unittest { alias Awe = Awesome!(int, int, int); } static if (ut) unittest { ... } } Andrei