Don:
> Not without loss of capability.

So this means "all separately instantiated add() functions with T that the 
compiler can automatically cast to uint":
void add(T:ulong)(T x) {

So it's something very different from the template constraint, that just 
accepts/refuses to see the template according to the if clause.

I have programmed D1 for years thinking add(T:ulong) means something different, 
a single instantiation with ulong. I was wrong.

Thank you, as usual,
bearophile

Reply via email to