Locking
Locking
Posted Sep 24, 2024 20:02 UTC (Tue) by daroc (editor, #160859)In reply to: Locking by Cyberax
Parent article: Resources for learning Rust for kernel development
One also can drop the guard explicitly:
drop(guard);
So I don't think it's less flexible, really. But, as in every discussion about programming languages, it's not really about what's possible so much as what the language makes easy or hard. I think it's a good point that Rust's locking is less explicit! That's certainly true, and it is a tradeoff. I (personally) think that the guarantees the compiler provides are worth it, but that doesn't mean we shouldn't acknowledge that less explicit locking does have downsides.
Posted Sep 24, 2024 20:19 UTC (Tue)
by farnz (subscriber, #17727)
[Link] (1 responses)
There is some thought being put into whether something like undroppable types would be a useful addition to the language. These would allow Rust for Linux to have a scope guard that must be explicitly destroyed (probably via a fn unlock(self) function), and where dropping them without calling that function is a compile-time error.
Posted Sep 24, 2024 20:21 UTC (Tue)
by intelfx (subscriber, #130118)
[Link]
So… true linear types (as discussed right in this comment section)? :-)
Posted Sep 25, 2024 17:54 UTC (Wed)
by NYKevin (subscriber, #129325)
[Link]
Forcing explicit destructuring
Forcing explicit destructuring
Locking