Surelock by @expede.wtf is a really fascinating and impressive use of the Rust type system to prevent deadlocks at compile time. I will 100% be using this for future Rust projects. notes.brooklynzelenka.com/Blog/Surelock
Post
notes.brooklynzelenka.comSurelockNOTE Hello r/rust! Thank you for the interest in this work and for the delightful conversation ❤️ I hate deadlocks. Maybe you do too.
Unfortunate github.com/akonradi/loc... wasn’t included as prior art as well. I have vibe coded something similar based on it, with a proc macro for specifying the DAG.
github.comGitHub - akonradi/lock-ordering: Lock ordering enforcement at compile time in RustLock ordering enforcement at compile time in Rust. Contribute to akonradi/lock-ordering development by creating an account on GitHub.
Seems like surelock should handle runtime locks? Or do you mean the lock-ordering crate? I think @expede.wtf wasn't trying to list all prior art, just the ones that influenced the design.
The LockSet idea is really cool, but misses out on some flexibility. My understanding is you pre-declare the locks you need (LockSet does ordering internally). But it’s common to not know what locks you need upfront. For this the application needs to be in control of ordering.
useful.storeuseful.store
0 reposts0 likes