On Wednesday, 14 October 2015 at 12:42:23 UTC, Artur Skawina
wrote:
On 10/14/15 10:26, Atila Neves via Digitalmars-d wrote:
On Monday, 28 September 2015 at 20:25:21 UTC, Atila Neves
wrote:
I've mentioned this many times before: template constraints
are like unittest blocks with asserts in D: great that
they're built-in easy to use. But when they fail, there's no
help in figuring out why.
[...]
Huh, I thought this'd get more interest. I guess I have weird
priorities! :P
No, it's probably just that the people interested in this would
prefer a /proper/ solution, hence don't consider ad hoc hacks
to be cost effective, but actually counterproductive.
artur
There can't be a "proper" solution without a language change,
which is unlikely.
Personally, I'd prefer
struct MyStruct: static isInputRange { ... }
to:
@models!(MyStruct, isInputRange) struct MyStruct { ... }
But the latter is possible today and the former is unlikely to
ever get approved. My original plan was to write a DIP for
"static inheritance", I changed to this PR because I'm 90% sure
the DIP would go nowhere and the PR makes things a lot better.
Atila