On Tuesday, 23 February 2016 at 01:02:21 UTC, Jonathan M Davis wrote:
Yeah. Sometimes having implicit conversions is great. Other times, it creates tons of problems. C++ allows a lot of implicit stuff, and it becomes really easy to have unexpected conversions going on, and it can be difficult to figure out exactly what code is being called. For the most part, D doesn't have any of those problems, but it arguably loses some usability as a result.

Don't we already have implicit conversions with alias this, so what's the deal?

struct A { int i; alias i this; }
void f(int i){}
void f(string s){}
void g(A a){ f(a); } //what's called?

Reply via email to