On Wednesday, 10 May 2017 at 10:53:59 UTC, Atila Neves wrote:
concepts is a dub package and library that allows one to
declare that a struct conforms to a "compile-time interface"
such as `isInputRange`. The difference between this and a
simple `static assert(isInputRange!MyType)` is that when the
static assert fails you have no idea why not and half of the
time it's because of a typo (e.g. `popFrnt`). With concepts you
get an error message from the compiler, and you can still use
your concepts in template constraints.
Niiiiice, I love constraints but there error messages aren't the