• yetAnotherUser@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      13 hours ago

      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):

      1. Every function is unsafe.
      2. No references, only pointers.
      3. No cargo, build with rustc directly.
      4. No std, but libc is allowed.
      5. Only Edition 2021.
      6. All user structs and enums #[derive(Clone, Copy)].
      7. 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).

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days ago

      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.