A new Crystal blog post/announcement has been posted!
Corresponding tweet for this thread:
Share link for this tweet.
Huh, doesn’t reproduce when outputting the IR, doesn’t reproduce when cross-compiling, doesn’t reproduce with a single module, aaahhh, it was because they were generating an empty basic block before an exception, which unaligned the code in a way to break SEH on windows, interesting… The mac one is just an ABI spec issue with LLVM.
Wonder why, thin lto can not only give compiling speed boosts but sometimes, surprisingly, even gives speed boosts over fat lto. Can’t find any reasoning in the attached issue…
IO#write_utf8was deprecated in favor of the more descriptive name
IO#write_string, because you can use it to write strings in all kinds of encodings, depending on the IO’s configuration. We also fixed a number of bugs related to using
IO#write_stringto append text to an IO.
So… a function of whom’s name says it writes UTF8, didn’t actually write UTF8… How did that ever happen?!?