Ah yes, you're using a stricter form of correctness. Let's picture the space of bugs that will probably appear in a program. To me (loose correctness), ensuring correctness is proving that there's a region in that space that you'll never visit. Perfect correctness (yours) is (1/2
-
-
Yes! And no. You have the unsafe keyword to overrule the compiler, and write abstractions that are efficient and safe that you can prove but the compiler cannot. It really is essential for the stdlib, because the rules of the language are over-restrictive.
-
If that's the case, then you can no longer claim that Rust is "correct" or "memory safe". If any user can use "unsafe" and override the restrictions, then you can't assume any module you're calling is correct in any sense. You're left with a slow compiler and incorrect code.
-
Sure, but it's a lot better than nothing. I wouldn't harp on them for this, it's a highly pragmatic thing to do, and I think the correct choice.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.