this post was submitted on 16 Oct 2024
65 points (97.1% liked)

Rust

5949 readers
1 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

If we were to create a Rust version of this page for Haskell, what cool programming techniques would you add to it?

you are viewing a single comment's thread
view the rest of the comments
[–] Buttons@programming.dev 3 points 3 weeks ago (1 children)

What if I specify the wrong type? let retrieved = storage.get::<SomeOtherType>();?

Is it a runtime error or a compile time error?

[–] Buttons@programming.dev 7 points 3 weeks ago (1 children)
[–] Ephera@lemmy.ml 2 points 3 weeks ago* (last edited 3 weeks ago)

Well, you would determine the TypeId of SomeOtherType, then search for that as the key in your HashMap and get back a None, because no entry exists and then you'd hand that back to the user.
I guess, my little usage example should've included handling of an Option value...

So, it's only a runtime error, if you decide to .unwrap() or similar.