25-Apr-2014 06:21, Steven Schveighoffer пишет:
Recently, I observed a conversation happening on the github pull request
system.
In phobos, we have the notion of output ranges. One is allowed to output
to an output range by calling the function 'put'.
[snip]
The anti-pattern here is using member functions to override or
specialize UFCS behavior. In this case, we even hook the UFCS call with
the member function, encouraging the name conflict!
As a possible solution, I would recommend simply change the name of the
hook, and have the UFCS function forward to the hook. This way, calling
put(r,...) and r.put(...) is always consistent.
+1
--
Dmitry Olshansky