On 2/11/14, 7:10 AM, Carl Sturtivant wrote:
D has opAssign, making defining implicit conversions from any type to a
new type possible on assignment, so where is the analogue (say opPass)
for passing an argument to a function?
void f( Data d, Data2 d2) { ..... }
void main() {
//conversions from string part of the definitions of Data, Data2
f( "hello", "bonjour"); //no way to do this --- disappointing
}
See
http://forum.dlang.org/thread/[email protected]
Hmmm... very interesting. I was thinking of the same these days because
we have qualifier(T[]) automatically change to qualifier(T)[] upon
passing to a function. However, there is no way for the user to specify
such type change for a user-defined type.
Adding some sort of opPass would help solve the current problem we have
with passing const ranges into functions. (Currently they won't work
unless they're built-in slices).
Andrei