this post was submitted on 26 Feb 2024
750 points (95.7% liked)

Programmer Humor

19171 readers
1835 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 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] RustyNova@lemmy.world 6 points 6 months ago (1 children)

While I get your proposal, I'd think this would make dealing with float hell. Do you really want to .unwrap() every time you deal with it? Surely not.

One thing that would be great, is that the / operator could work between Result and f64, as well as between Result and Result. Would be like doing a .map(|left| left / right) operation.

[โ€“] Ephera@lemmy.ml 1 points 6 months ago

Well, not every time. Only if I do a division or get an ieee_754_f64 from the outside world. That doesn't happen terribly often in the applications I've worked on.

And if it does go wrong, I do want it to explode right then and there. Worst case would be, if it writes random NaNs into some database and no one knows where they came from.

As for your suggestion with the slash accepting Results, yeah, that could resolve some pain, but I've rarely seen multiple divisions being necessary back-to-back and I don't want people passing around a Result<f64> in the codebase. Then you can't see where it went wrong anymore either.
So, personally, I wouldn't put that division operator into the stdlib, but having it available as a library, if someone needs it, would be cool, yeah.