Jarrett Billingsley wrote: > since assignment can't be overloaded, it complains. Assignments are overloadable. import std.stdio; int f(int p) { return 2*p; } real f(real p) { return 3.0*p; } void main() { auto i=f=2; auto r=f=2.0; writefln( i, r); }