On 2013-02-04 06:20, Andrei Alexandrescu wrote: > void delegate(string) dg = &s.foo; I know that this expression works. But since this works, why can't we overload on the return value. This seems to be do exactly this. The arguments I heard against overloading on the return value is due the LHS of an expression shouldn't affect the RHS. -- /Jacob Carlborg