• KillTheMule@programming.dev
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      1 年前

      unsafe does not disable the borrow checker. It does however give you abilities to circumvent it, namely by letting you dereference pointers, which are not subject to the borrow checker.

      • ulterno@programming.dev
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 年前

        OIC. I really need to start learning this language soon, or I won’t be able to understand future memes and rants.

      • Ephera@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 年前

        You can also selectively circumvent it without dipping into unsafe, by wrapping a type in an Rc or Arc (“reference-counting” and “atomic reference-counting”). This will allow you to handle an object largely like you might expect from garbage-collected languages. (Reference-counting is not able to free circular dependencies. If you need those, then use WeakRef.)

        Having said that, I would certainly not recommend constantly doing that for a beginner. It needs some time to get used to the way Rust works, especially if you’re already experienced in other languages, but when it clicks, then you stop breaking your brain.