Description
Updated Issue
This is a tracking issue for stabilizing the functionality of Error::type_id
somehow. The subject of a historical security advisory the API was recently changed to prevent memory unsafety issues on all channels including nightly. The functionality, however, is still unstable, so we should stabilize it at some point!
Original issue.
Reported by @seanmonstar to the security mailing list recently, it was discovered that the recent stabilization of Error::type_id
in Rust 1.34.0 is actually not memory safe. Described in a recent security announcement the stabilization of Error::type_id
has been reverted for stable, beta, and master.
This leaves us, however, with the question of what to do about this API? Error::type_id
has been present since the inception of the Error
trait, all the way back to 1.0.0. It's unstable, however, and is pretty rare as well to have a manual implementation of the type_id
function. Despite this we would ideally still like a path to stability which includes safety at some point.
This tracking issue is intended to serve as a location to discuss this issue and determine the best way forward to fully removing Error::type_id
(so even nightly users are not affected by this memory safety issue) and having a stable mechanism for the functionality.