replace is clearer in the first case, because you're getting the return value.
...
I am really trying hard to understand this, but your reasons for first is clearer then the second makes no sense to me i am sorry. I still think second is clearer, but whatever, as long as i can see the interface or the doc, i am fine.

string replace(string, ...);
void replace(ref string, ...);

Regardless, I don't see anything wrong with naming functions in a manner that
implies that a functional style is the default
I am not against enforcing such a rule, i am against doing it implicitly and work with assumptions. Just check boost/string/replace, they have in place replaces default too. You might not like boost (some don't) but it is the closest example to D.

Reply via email to