A new Crystal blog post/announcement has been posted!
Get the full details here: Crystal 1.2.0 is released! - The Crystal Programming Language
A new Crystal blog post/announcement has been posted!
Get the full details here: Crystal 1.2.0 is released! - The Crystal Programming Language
Corresponding tweet for this thread:
Share link for this tweet.
We discovered that two bugs appearing on Windows and M1’s macs are coming from LLVM 11 and 12. We expect the fix will come with the recently released LLVM 13.
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.
The support for ThinLTO compilation was dropped, since it wasn’t working already since Crystal 0.25.
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…
The method
IO#write_utf8
was deprecated in favor of the more descriptive nameIO#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 usingIO#write
instead ofIO#write_string
to 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?!?