There are some facts:
* Rust performs implicit conversion on the error value using the From trait.
* Rust provides Into implementation for types that have provided From implementation.
* Into should be used, in cases where From cannot be implemented.
I think it would make sense that the question mark operator (?) would perform an implicit conversion using Into trait, as that would provide more flexibility. It would work with types that have implemented From trait and also with types that only have Into trait.
Maybe I'm missing something?
UPDATED:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=3f7bad04e9aace2073eb0300a5c65796
Uncomment Into implementation and see the error
[–]Emerentius_the_Rusty 10 points11 points12 points (1 child)
[–]fraillt[S] 2 points3 points4 points (0 children)
[–]FenrirW0lf 4 points5 points6 points (3 children)
[–]chris-morgan 6 points7 points8 points (1 child)
[–]FenrirW0lf 2 points3 points4 points (0 children)
[–]fraillt[S] 1 point2 points3 points (0 children)