-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error and .unwrap() do not agree on traits #21790
Comments
There was a lengthy discussion about this towards the bottom of the RFC: rust-lang/rfcs#565. |
/cc @aturon , I vaguely remember this might change? If not, then this should be in the RFCs repo. |
Nominating for 1.0-beta P-backcompat-libs. (The |
1.0 beta, P-backcompat-libs, I-needs-decision. |
alexcrichton
added a commit
to alexcrichton/rust
that referenced
this issue
Mar 23, 2015
This small commit stabilizes the `Error` trait as-is, except that `Send` and `Debug` are added as constraints. The `Send` constraint is because most uses of `Error` will be for trait objects, and by default we would like these objects to be transferrable between threads. The `Debug` constraint is to ensure that e.g. `Box<Error>` is `Debug`, and because types that implement `Display` should certainly implement `Debug` in any case. In the near future we expect to add `Any`-like downcasting features to `Error`, but this is waiting on some additional mechanisms (`Reflect`). It will be added before 1.0 via default methods. [breaking-change] r? @alexcrichton Closes rust-lang#21790
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Error
currently requiresDisplay
, while.unwrap()
requiresDebug
.I'm unsure of what each should require, but I think they should agree so that it is possible to have code which returns
Result<_, Box<Error>>
(which is useful to allow try! across functions returning different types of error codes), and be able to.unwrap()
the results.The text was updated successfully, but these errors were encountered: