Is this for real? If so how is Rust not a complete joke?pic.twitter.com/Zz52Hg6R9q
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
And 99% of the time the caller will either abort or ignore the error and SIGSEGV anyway.
N levels back up, maybe. Unless it's stateless/contains no valuable state, or unless it's utter crap, not without first dumping a recovery file of some sort.
Or you can write rust with nostd, and no allocator (bring your own). But what would you do anyway if you `vec.push(x)` and somehow there isn't enough ram? How would you signal the error in a way that makes sense to the caller of `push`?
The push method could return `Ok(())` when it succeeds and `Err(x)` when it fails. Since `Result<T, U>` is marked #[must_use], it forces the caller to handle the error case. Rust as a language is well-suited to writing low-level, robust code. The non-core stdlib is the issue.
im really thinking like 87% of rust users woulda revolted if they'd had to error-handle every allocation
Writing correct code is hard. Everyone wants toy languages that let you pretend it's not and paper over everything that could go wrong. *sigh*
I'd argue a lot of the time, handling OOM conditions without unwinding does not get you the most correctness per unit effort spent
I think "correctness per unit effort spent" is a bogus metric. In a better model, you start from a correct trivial program and build up, constrained by not knowingly making it incorrect.
You can't unwind in an OOM condition.
Sure you can. Your unwinder and destructors just need to be written to work without allocation.
All Unix unwinders I know of don't fit that description.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.