Closed
Description
The Error
trait was recently changed, once again, to inherit from Send
. This was done mostly because
- We suspect that many people will wind up using
Box<Error>
, especially onceError
incorporated downcasting, - We worried that, after setting up such APIs, people would end up wanting to send
Box<Error>
between threads and not be able to, and, - We suspected that most errors would or could be made
Send
anyway.
However, there are some cases in important libraries like Iron that involve non-Send
errors, at least at the moment.
We need to make a final decision here. Should we instead require people to know about and use Box<Error + Send>
when they need it?