When using HashMap's
get method, I get an
Option<&T>, I've encountered it again this time with
Option<&String>. I'd like to get an owned value
Option<String>. Is this possible without me writing
I'm just wondering if there's a way to write a blanket implementation for any of the utility traits to achieve that?
Option comes with utility methods for various transformations, which are listed in its documentation. For any
T that implements
Option<&T>::cloned does what you're looking for.
Clone is more specific than
.cloned() isn't an exact match for
.map(|x| x.to_owned()). For example, it won't turn an
Option<&str> into an
Option<String>; for that you will have to stick with