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.