this post was submitted on 01 Aug 2025
148 points (96.8% liked)

Programmer Humor

25425 readers
1034 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Don't say anyway, say anyhow

you are viewing a single comment's thread
view the rest of the comments
[–] magic_lobster_party@fedia.io 35 points 1 day ago (3 children)

Unwrap means it forces to evaluate the result as an ”ok value”. If it’s an ”error value”, it will crash. It’s a bad practice to rely on it, as it’s one of the most common ways a Rust programs can crash.

Rust offers many options to handle errors that don’t risk crashing. For example, unwrap_or_default, which means ”if it’s an error value, use the default value for this type, such as 0 for integers”

[–] Korne127@lemmy.world 14 points 1 day ago (2 children)

I mean using unwrap is not bad practice if the value is guaranteed to not be none, which can happen frequently in some applications.

[–] mobotsar@sh.itjust.works 4 points 1 day ago* (last edited 1 day ago) (1 children)

If it's guaranteed to not be None, why is it an Option?

[–] marcos@lemmy.world 2 points 1 day ago* (last edited 1 day ago)

Oh, it can happen when you do calculations with compile-time constants...

But the GP's claim that it's a "frequent" thing is suspect.

(Crashing is also useful when you are writing and-user applications, but you'll probably want .expect like in the meme.)

[–] qaz@lemmy.world 9 points 1 day ago* (last edited 1 day ago)

A good example would be regex. After validating it when writing the program it should always compile, although this could also be solved with a proc macro that validates the regex at compile time.

[–] sirdorius@programming.dev 6 points 1 day ago* (last edited 1 day ago)

Unwrap is good for prototyping and trying out stuff fast, but it generally shouldn't make it past a code review onto main, unless you're very sure