On Wednesday, 8 April 2015 at 17:17:21 UTC, Walter Bright wrote:
On 4/8/2015 9:58 AM, Adam D. Ruppe wrote:
On Wednesday, 8 April 2015 at 16:51:53 UTC, Andrei Alexandrescu wrote:
File defines it.

Last time this came up on reddit, I explained that *this* was exactly why I think "string".writeln is mistaken. writeln does NOT operate on its string, it doesn't tell the string to do something, it doesn't transform the string.

It tells a *File* to do something.

writeln is an OutputRange. It takes its input from the pipeline and places it in a container (the screen).

But it is actually a method of stdout file, which was what Adam has pointed out. Hiding it behind free function and abusing that fact for UFCS is just mixing semantics and, well, abuse.

Reply via email to