io::Error::into_inner returns an
Option<Box<dyn Error + ..>> right now, but it should presumably return
Result<Box<dyn Error + ..>,Self> like other consuming methods. Am I missing something here?
The only other data which an io error can have is the kind, so if you wanted a lossless destructure you can do
(err.kind(), err.into_inner()). There no owned data attached to the error if
None, and I expect that's why it was stabilized as returning
It might've been more "correct" to return a result, but this is the signature that we've got.