I have had multiple complain (one of them *phoned me from overseas*) that writeln() doesn't work in @nogc. Their claim goes: "How can it be acceptable that writeln() doesn't work in @nogc? It's literally the first thing you try and do!" I have to agree. writeln() really should work everywhere, always.
Whatever happened to that dip 1008 thing? Or perhaps we could just change the invalid utf 8 sequence exception to the replacement char. I'd personally argue that is more useful for writing anyway (I often cast stuff to byte for it)
Dunno what's going on with DIP1008, but I actually agree that using the replacement char is actually the more interesting and useful thing to do. I might be interested in throwing a UTF exception from a function like `validateString`, but I don't want writeln to throw! I want it to write text to the output stream... it has one job!
hmmm took a look at the code and the other thing that throws is on fwrite errors. I forgot about those... could possibly throw a static instance or something but that complicates the easy idea of just using replacement char.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/phobos/issues/9790 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB