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.
What if I specify the wrong type?
let retrieved = storage.get::<SomeOtherType>();
?Is it a runtime error or a compile time error?
To answer my own question: I believe it’s a runtime error: https://doc.rust-lang.org/stable/std/any/trait.Any.html#method.downcast
Well, you would determine the
TypeId
ofSomeOtherType
, then search for that as the key in your HashMap and get back aNone
, 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.