← Back to context

Comment by awesome_dude

10 hours ago

People massively overestimate Rust's "safety" - it has a very nice approach to managing data races, and. that's it.

It still, like every other language/tool we have that shares state between threads, has race conditions, for example.

That is a confidently incorrect assertion.

  • They said race conditions and specifically exempted data races. You can absolutely write race conditions in rust, they're a logic bug.

    As an example, let's say you have two functions A and B. A only works properly if B has never ran for some reason. Let's say they both accept a reference to a value C, and B changes C's value somehow. Because this is rust, we can't have data races, so we wrap it in an ArcMutex or what have you. That doesn't impact the ordering of A and B at all.

    If we spawn threads that execute A and B at the same time, it's up to the scheduler if A functions properly.

  • You are being downvoted but you are absolutely correct. I have never seen someone assert Rust is a 100% safe. Its touted purely as a _memory_ safe language. To claim otherwise is absurd and very telling of the writer's biases

    • > I have never seen someone assert Rust is a 100% safe

      Maybe I spend too much time on tech internet...

    • > I have never seen someone assert Rust is a 100% safe

      Please copy and paste from my post where that's being asserted

      > Its touted purely as a _memory_ safe language

      Which is different from what was said... how?

      > To claim otherwise is absurd and very telling of the writer's biases

      To pretend that those claims were made is what's actually telling of biases.

      1 reply →