• KillTheMule@programming.dev
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    2 days ago

    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.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      14 hours ago

      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.

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 days ago

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