Miri is an evaluator for rust that detects many kinds of undefined behavior. Here are some things it could (possibly) do that would catch bugs I’ve had/seen before.
Let’s talk about clamping a float between 0.0 and 1.0.
These are the notes from a (non-codelet) post that I don’t know when/if I’ll finish.
In an effort to post more, I’m going to start posting shorter (and frankly, lower effort) blog posts known as “Codelets”.
Most major OSes offer some form of futex-like functionality at this point. Some of these are a bit obscure and hard to remember, though, so I thought I’d write some stuff about them down so that I can refer to it or link it later.
Here’s some blocks of yaml you can copy-paste to make github actions work for your Rust project. Go nuts.
If you’ve ever thought “Using a
Mutex<[f32; 3]> is pointless, what’s the worst
thing that could happen here?”, I’ve written the
Cell type that empowers you
to find out the answer to that question yourself.
Note: This assumes you have familiarity with Rust, memory allocation, etc.