It's like every single person who looked at the Cloudflare blog post read exactly zero words of it, scrolled down 20 screens to the code sample, and drew the same stupid conclusion. I don't claim Rust's error handling story is the best, but blaming unwrap() is beyond silly.

This is a situation where

  • invalid configuration was produced
  • and deployed worldwide
  • and the system couldn't cope

Reasonable lessons to learn are:

  • maybe don't produce bad config
  • definitely don't deploy it worldwide
  • if possible, make your system cope

Bad configuration is a recurring cause of these cloud system outages. It is absolutely true that Rust is not immune. But grepping for unwrap in your code is kind of a dumb response to this news, and retroactively never having unwrap wouldn't have made Rust more reliable. You might as well pass a law banning unpleasant surprises. We have to be smarter than that and look for ways to engineer better error handling.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://kfogel.org/objects/4a886b3b-b2bb-4a25-bf17-85bb3239149c on your instance and quote it. (Note that quoting is not supported in Mastodon.)