Small note: I think the title of this thread sounds a bit misleading; it sounds like you’re saying we should get rid of TryInto
and just use Into<T>
; but after reading it I think I see you are suggesting that trait methods like Try::from_ok
and Try::into_result
should not exist and ought to be provided through Into
.
Suggestion: change “all conversions” to “all conversions in traits?”
I’m against this for the same reasoning I was against using Into<Option<T>>
for an operator in another thread.
Using one trait (Into
) for a large multitude of purposes makes the language less powerful. We will run into cases where we are forced to choose between one feature or another for our type because the Into
impls we want to write would overlap.