1. 15

  2. 12

    This post can be hard to understand if you’re not super familiar with Rust. The TL;DR is, two APIs which used unsafe internally can cause a memory safety issue in safe code, because they relied on an invariant that’s not actually true.

    There’s a few paths forward to making them work correctly, and it’s not 100% clear what path is best. In the meantime, one of the two has been marked unstable.

    1. 2

      So what kind of issue are we looking at? A flaw in the design of the language or in the design of the library?

      1. 3

        A flaw in the design of a library. Hence it becoming marked unstable. The language itself is working just fine.

    2. 4

      It took til the end of the article to explain the poop analogy, but when the author finally got there it made perfect sense and was logically consistent.