3 ms·
> ... it's understood that perhaps the language is vulnerable to certain errors and one should attempt to mitigate them. But more importantly, those errors are
by zozbot234 1y ago
> ... it's understood that perhaps the language is vulnerable to certain errors and one should attempt to mitigate them. But more importantly, those errors are one class of bug and bugs can happen. Set up infra to detect and recover.
> in Rust the code must be safe, must be written in a certain way, must be proven correct to the largest extent possible at compile time.
Only for the Safe Rust subset. Rust has the 'unsafe' keyword that shows exactly where the former case does apply. (And even then, only for possible memory unsoundness. Rust does not attempt to fix all possible errors.)
- pclmulqdq 1y agoA not-so-secret secret of Rust is that liberal use of 'unsafe' is pretty much required for certain classes of high-performance code.
- aystatic 1y agoimo if you're sprinkling around `unsafe` in your codebase "liberally", you're holding it wrong. In general it's really not that hard to encapsulate most unsafety into a wide-contract abstraction; I’d argue where Rust really shines is when you take advantage of the type system and static analyzer to automatically uphold invariants for you
- blub 1y agoWell yes, only in the safe subset, but the safe subset is the alpha and omega of Rust. Woe to those that use unsafe, for the scorn of the community shall be upon them. :)