On 11/02/2015 09:43 AM, Nordlöw wrote:
On Monday, 2 November 2015 at 14:43:00 UTC, Nordlöw wrote:
On Monday, 2 November 2015 at 14:33:44 UTC, Andrei Alexandrescu wrote:
https://github.com/D-Programming-Language/phobos/pull/3786

Sent an ICBM its way. -- Andrei

Why not extend existing traits with a second `E`-parameter instead of
adding a new one?

I think it's very well worth it in terms of expressability.

I'd say it's a minor convenience. Anyhow, integrating tests this way depends on how we go about reporting "no match" errors. In the constraint

isForwardRange!R && is(ElementType!R == int)

the compiler could report exactly: "isForwardRange!Widget failed" or "is(ElementType!Widget == int) failed". If tests are combined, the compiler will only be able to say "isForwardRange!(Widget, int) failed".


Andrei

Reply via email to