On Saturday, 24 February 2018 at 02:54:13 UTC, Jonathan wrote:
I am having trouble finding many useful explanations of using template constraints beyond basic usage.I would like to have a template constrant to enforce that a type can be explicitly cast to another type:void (T)(T t) if (cast(int) T)//force `cast(int) T` to be possible { // Yay I know `t` can be cast to an `int`! } Is this possible?
I would have thought contracts would be ideal here? https://dlang.org/spec/contracts.html