Safe rust is safe, granting `unsafe` and compiler errors. This isn't a secret.
In contrast, memory-unsafe languages don't even try to have a TCB relative to which memory safety is specified. That's the main difference.
It's not like Java is immune to memory safety-related implementation bugs either (e.g., [0]):
> A resource area allocated object is probably passed/used outside of the scope of the corresponding ResourceMark (similar to JDK-8325672).
So "blows Rust away in memory safety" doesn't seem quite supported enough?
it has been discussed bilion times
The difference is that the C spec intentionally frees the compiler from upholding those invariants. In this case the Rust compiler is failing to catch something it is required to catch.
A more accurate analogy would be a C compiler incorrectly failing to reject an assignment through a pointer to const without a cast. The spec requires that such a thing be rejected, so it's a compiler bug.
Specifically the `q.0 = Some(&l);` violating 4.15.2:40 ("An assignment expression requires that the type of its value operand is a subtype of the type of its assignee operand.")
A bug. The one linked, that we're all talking about.
Feel free to share a link to any software that has zero bugs.
Do you have a point you’re going to share? Or is this faux Socratic nonsense just for your own personal entertainment?