You didn't change anything there, just back to original code, now just
enabled implicit cast again!
Please read my next replies, everything should be clear now. :)
Thanks!
On Sun, 28 Mar 2010 14:32:21 +0400, bearophile <[email protected]>
wrote:
so:
Well, i am having hard time explaining, it is not a surprise that you
don't understand.
I think I have understood you this time. Writing skills are important
for a programmer :-)
Is this what you are asking for? But it's not very good code:
import std.stdio: writeln;
struct Vector(T) {
this(T m) { mm = m; }
this(int m) { mm = cast(T)m; }
Vector opBinary(string op:"*", T2)(T2 m) {
return Vector(mm * m);
}
T mm;
}
void test(T)() {
auto v = Vector!T(5);
auto u = v * 3;
writeln("u: ", u.mm);
}
void main() {
test!ubyte();
test!ushort();
test!uint();
test!ulong();
}
Bye,
bearophile
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/