Programming Leftovers
-
Announcing Rust 1.71.0 | Rust Blog
The Rust team is happy to announce a new version of Rust, 1.71.0. Rust is a programming language empowering everyone to build reliable and efficient software.
[...]
The behavior for unforced unwinding (the typical case) is specified in this table from the RFC which proposed this feature. To summarize:
Each ABI is mostly equivalent to the same ABI without -unwind, except that with -unwind the behavior is defined to be safe when an unwinding operation (panic or C++ style exception) crosses the ABI boundary. For panic=unwind, this is a valid way to let exceptions from one language unwind the stack in another language without terminating the process (as long as the exception is caught in the same language from which it originated); for panic=abort, this will typically abort the process immediately.
For this initial stabilization, no change is made to the existing ABIs (e.g. "C"), and unwinding across them remains undefined behavior. A future Rust release will amend these ABIs to match the behavior specified in the RFC as the final part in stabilizing this feature (usually aborting at the boundary). Users are encouraged to start using the new unwind ABI variants in their code to remain future proof if they need to unwind across the ABI boundary.
-
Rust 1.71.0 released [LWN.net]
Version 1.71.0 of the Rust language has been released. Changes this time include the C-unwind ABI, an upgrade to musl 1.2, and more.
-
A whimsical fuzzy clock
And here we come to a central problem with any fuzzy system - repetitiveness. How to make it say something new every time it is called? I guess there are three main approaches: [...]
-
A picross game in 1024 bytes
It was challenging to fit this all in just 1024 bytes! This post is a retrospective on the project.
-
Automated blog builds with Sourcehut
I am a happy Sourcehut user and I wanted to try its build service. Every time changes are pushed to a git repository hosted on Sourcehut, it is possible to trigger a series of actions described in a manifest that will be run in a virtual machine on builds.sr.ht. If you've ever used Github Actions or Gitlab Pipelines, you should be pretty familiar with this concept.