Actually check kind() on HsIdParseError, and bubble it upwards for SOCKS error.
From discussion on !1279 (merged), @Diziet says
nothing actually calls
.kind()
on anHsIdParseError
. Instead, there is a tangled mess intor-client
.address.rs
is required (by its surroundings) to produce aTorAddrError
; that is done inerr.rs
with aFrom
impl which discards theHsIdParseError
. ThenTorAddrError
doesn't implementErrorKind
. Instead, it is just stuffed into anErrorDetail::Address
which results inEK::InvalidStreamTarget
.I guess this wants a ticket. Certainly it's a can of worms we don't want to block this MR with.