Still, not having non-member operator overloads is very bothersome. On Tue, May 8, 2012 at 12:37 AM, Nick Sabalausky <[email protected]> wrote: > "Jens Mueller" <[email protected]> wrote in message > news:[email protected]... >> Hi, >> >> from my understanding UFCS is supposed to work with operator overloading. >> I.e. >> in the following a + b should work >> >> struct Foo {} >> >> Foo opBinary(string op)(Foo lhs, Foo rhs) if (op == "+") >> { >> return Foo.init; >> } >> >> unittest >> { >> Foo a, b; >> a + b; // fails to compile >> } >> >> Is UFCS supposed to work with operator overloading, isn't it? >> >> Jens > > I don't know why that doesn't work (unless you just need to make it "auto c > = a + b;" so it isn't a "statement has no effect"?), but FWIW that's not an > example of UFCS. UFCS would mean calling your opBinary above like this: > > a.opBinary!"+"(b) > > Instead of this: > > opBinary!"+"(a, b) > > >
-- Bye, Gor Gyolchanyan.
