Indeed, the double consumption you can not express in C. But invariants of data structures are not a practical problem in C.
Looking at the Rust code of this project though, I trust my C code a lot more though... ;-)
Looking at the Rust code of this project though, I trust my C code a lot more though... ;-)
Is that not the cause of like all memory safety vulnerabilities, which are like 30%-or-whatever of linux ones? I've certainly written my fair share of mistakes around invariants in C code. Of course, if you're a perfect developer, indeed the choice of language won't end up mattering.