Tsoding has created a few rules for writing Rust to make Rust “fun” to program in, and gave them the name of Crust.
Here is the rule set (it may change over time):
Every function is unsafe.
No references, only pointers.
No cargo, build with rustc directly.
No std, but libc is allowed.
Only Edition 2021.
All user structs and enums #[derive(Clone, Copy)].
Everything is pub by default.
If you ever want to try this out for some ungodly reason, there’s a GitHub repository with an example Main that shows how to use libc and other libraries (in the example, it’s raylib), and with a Makefile showing how to compile your projects (remember we aren’t using cargo).
unsafe doesn’t deactivate memory safety. It only allows you to then create raw pointers and whatnot, which you could use to circumvent memory safety, but all the normal language constructs still do enforce it.
You can wrap everything in unsafe and keep living dangerously!
Tsoding has created a few rules for writing Rust to make Rust “fun” to program in, and gave them the name of Crust.
Here is the rule set (it may change over time):
If you ever want to try this out for some ungodly reason, there’s a GitHub repository with an example Main that shows how to use libc and other libraries (in the example, it’s raylib), and with a Makefile showing how to compile your projects (remember we aren’t using
cargo
).Oh boy, now I can stop missing C++
unsafe
doesn’t deactivate memory safety. It only allows you to then create raw pointers and whatnot, which you could use to circumvent memory safety, but all the normal language constructs still do enforce it.I know, but it does let you sled off a cliff if you choose to.