This is a tracking issue for the RFC "Fix the Error trait" (rust-lang/rfcs#2504). **Steps:** - [x] Implement the RFC (cc @rust-lang/libs) - [X] `source` method #53533 - [x] Backtrace API #64154 - [x] ~~Implement proof of concept showing stabilizing `backtrace` method won't prevent moving `Error` into `core` later https://github.com/rust-lang/rust/pull/77384~~ - [ ] Fix std::backtrace::Backtrace's fmt representations - ~~Precision flag support #65280~~ this is non-blocking for stabilization - [ ] Differences with `panic!` backtraces #71706 - [ ] Adjust documentation ([see instructions on forge][doc-guide]) - [ ] Stabilization PR ([see instructions on forge][stabilization-guide]) [stabilization-guide]: https://forge.rust-lang.org/stabilization-guide.html [doc-guide]: https://forge.rust-lang.org/stabilization-guide.html#updating-documentation **Unresolved questions:** - [x] The choice to implement nullability internal to backtrace may prove to be a mistake: during the period when backtrace APIs are only available on nightly, we will gain more experience and possible change backtrace's constructors to return an `Option<Backtrace>` instead. **Current status:** https://github.com/rust-lang/rust/issues/53487#issuecomment-726326510