Remix.run Logo
bccdee 3 hours ago

> telling a victim “but the memory was not corrupted in the crash” is a weak consolation. We actually had a recent Cloudflare outage caused by a crash on unwrap() function. It’s probably the strongest point of my whining: Rust is memory safe and unreliable. The price of memory safety was reliability

This is incorrect in a way that honestly feels insulting. It's not the language's fault that you called the `crash()` function—every language has a way to terminate execution, and for good reason. Crashing isn't even necessarily incorrect behaviour; that's how you pass the error up to the infrastructure layer for handling. The problem here existed at a system design level, not a language level.

For the author to paraphrase this (bad) critique like this:

> You cannot get 99.999% reliability with Rust — it crashes all the time.

is outright dishonest and insulting to me as a reader.

Mauneam 9 minutes ago | parent | next [-]

First, he didn't call the "crash()" function, he called the "unwrap()" function. The fact that they decided to call the crash function "unwrap()" is not the OP's fault, it's the language authors' fault.

Second, you totally missed the OP's point about reliability. If one has to choose between UB and an immediate halt, those are pretty sucky options. And the OP is 100% right about Rust crashing all the time. Nothing insulting about that, just a fact.

xwolfi an hour ago | parent | prev [-]

Why did they name the crash() function "unwrap()" ? Feels weird to me ...

aw1621107 7 minutes ago | parent [-]

> Why did they name the crash() function "unwrap()" ?

Because unwrap() is not guaranteed to cause a crash? panic!() is there if you actually want to guarantee a panic.