On Friday, 13 December 2013 at 10:39:41 UTC, Joseph Rushton
Wakeling wrote:
On 13/12/13 01:23, IgorStepanov wrote:
You can write something like:
void acceptMyType(T)(T arg) if(is(T == MyType))
{
...
}
Yes, this way is complex, but this situation is rare and we
can put up with it.
Yes, that's exactly the method I was thinking of. I really
found it very beautiful when I saw it inside std.bigint and
realized what it was meant to do, but I think it's _very_ prone
to being accidentally "corrected" on the assumption that it's
meant to be is(T : MyType).
a quick "//no implicit conversion allowed" is surely adequate
here. At the very least it would make someone think twice before
breaking it.