this post was submitted on 16 Jun 2024
28 points (96.7% liked)
Rust
5981 readers
51 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A generic impl is impossible.
Imagine you want to turn a
Into<String>
toSome(val.into())
andOption<Into<String>>
toval.map(Into::into)
.Now, what if there is a type
T
whereimpl From <Option<T>> for String
is implemented?Then we would have a conflict.
If you only need this for
&str
andString
, then you can add a wrapper typeOptionStringWrapper(Option<String>)
and implementFrom<T> for OptionStringWrapper
for all concrete type cases you want to support, and go from there.