On Sunday, 11 June 2017 at 00:28:58 UTC, Andrei Alexandrescu wrote:
// Also possible (no change to the language)
enum bool isInputRange(R) =
    is(typeof((ref R r) => r)) && msg("must be copyable")


Or how about

enum bool isInputRange(R) =
      isCopyable!R &&
      supportsBoolEmpty!R &&
      supportsFront!R &&
      supportsPopFront!R;

and the compiler just calls out which condition didn't match?

&& is(typeof(lvalueOf!R.popFront)) && msg("must support back");

hey look you already messed up the string by repeating it.

Reply via email to