• AnyOldName3@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    If you’re going to change the definition of words, it’s pretty easy to show that garbage collection on its own is sufficient, but it’s not possible to have a useful conversation if someone’s using their own personal definition of the terms being discussed. The generally accepted definition of memory safety includes deeming out-of-bounds accesses and other spatial memory safety issues unsafe.

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      With your definition this conversation doesn’t make sense though. Since rust’s direct array access doesn’t perform bounds checks when building in release mode. And it doesn’t require using unsafe.

      • AnyOldName3@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        That’s not what Rust’s documentation says. It does a compile-time bounds check if it can prove what the index might be during compilation, and a runtime bounds check if it can’t. In release mode, it tries harder to prove the maximum index is below the minimum length, but it still falls back to a runtime bounds check if it can’t unless you use get_unchecked, which is unsafe.