-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Error and .unwrap() do not agree on traits #21790
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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
# for free
to join this conversation on GitHub.
Already have an account?
# 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: