Skip to content

Tracking issue for RFC 2504, "Fix the Error trait" #53487

Open

Description

@Centril

View all comments

This is a tracking issue for the RFC "Fix the Error trait" (rust-lang/rfcs#2504).

Steps:

Unresolved questions:

  • 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:

#53487 (comment)

Activity

  1. added
    B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.
    T-libs-api[DEPRECATED; DO NOT USE]
    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFC
    on Aug 19, 2018
  2. L-as commented on Sep 26, 2018

    @L-as

    What parts haven't been implemented?

  3. withoutboats commented on Sep 26, 2018

    @withoutboats
    Contributor

    I've updated the tracking issue to reflect that, but right now the source method has been implemented, but the backtrace related APIs have not been implemented

  4. L-as commented on Sep 26, 2018

    @L-as

    Perhaps I could try implementing this, is it OK to just use the backtrace crate?

  5. alexcrichton commented on Oct 2, 2018

    @alexcrichton
    Member

    Implementing backtraces in the standard library will probably not use the backtrace crate but rather the backtrace API that's already in the standard library for RUST_BACKTRACE. We can perhaps unify these implementations in the long run, but for now it's infeasible to do so.

    The current platform-independent backtrace code lives here, mostly in the _print function. Implementing the API defined in the RFC will likely involve reusing these interfaces to define a struct which carries along the relevant information.

    @laaas if you'd like to implement this please feel free! Also feel free to reach out with any questions.

  6. L-as commented on Oct 2, 2018

    @L-as

    Thanks! Will definitely try implementing it.

  7. frewsxcv commented on Nov 22, 2018

    @frewsxcv
    Contributor

    Thanks! Will definitely try implementing it.

    @laaas Did you make any progress? Need any help?

  8. L-as commented on Nov 22, 2018

    @L-as

    @frewsxcv Actually not!

    I haven't really looked at it much, so if you want to work on it, go ahead!

  9. aturon commented on Feb 21, 2019

    @aturon
    Contributor

    cc @rust-lang/libs @withoutboats @mitsuhiko would be really nice to make progress here

  10. mitsuhiko commented on Feb 22, 2019

    @mitsuhiko
    Contributor

    I would move than love to spearhead this.

  11. aturon commented on Feb 22, 2019

    @aturon
    Contributor

    @mitsuhiko go go go! if you need any help around the backtrace stuff @alexcrichton can get you set up.

  12. mitsuhiko commented on May 26, 2019

    @mitsuhiko
    Contributor

    Just an update from my side about why there is no progress: I tried a few things to expose a sensible backtrace object and with the current system that is in place it's all too likely that the outcome is just a bad workaround. I'm currently leaning towards waiting for the backtrace support in rust to be based on backtrace-rs.

  13. idubrov commented on May 30, 2019

    @idubrov

    Is migration to backtrace-rs is something that is already happening? Any issue to track progress?

  14. 131 remaining items

  15. nyabinary commented on Jul 25, 2023

    @nyabinary

    Yeah it would

  16. yaahc commented on Jul 25, 2023

    @yaahc
    Member

    Hey, I'll do my best to give an update. First, the error handling project group has been inactive for quite a while. I think @rust-lang/libs probably needs to re-evaluate how they track subteams/subgroups and that as part of that, the error handling project group should either be officially shut down or rebooted.

    As for progress on the error trait, @waynr has started doing fantastic work finalizing the generic member access API. Reviewing the state of this tracking issue and #103765, I think this tracking issue may be superseded. There is the bit about formatting consistency that we may want to keep tracking in some issue and possibly some documentation related work but beyond that this issue seems essentially done.

    The next steps as I understand it are to polish and stabilize the generic member access API and eventually error in core. Disclaimer though, I've not been active in this area for a while now so I may be missing important details, if you see anything that I missed please point it out.

  17. nyabinary commented on Jul 25, 2023

    @nyabinary

    How would we go around rebooting the error-handling project/group?

  18. dralley commented on Aug 24, 2023

    @dralley
    Contributor

    Thanks for the update @yaahc , much appreciated.

    I think @rust-lang/libs probably needs to re-evaluate how they track subteams/subgroups and that as part of that, the error handling project group should either be officially shut down or rebooted.

    Has this been formally brought up to the libs team? I think it would be interesting to have some public visibility (call for volunteers etc.) for efforts that are stalling out a bit (assuming lack of activity is the problem of course).

  19. ChrisDenton commented on Aug 24, 2023

    @ChrisDenton
    Member

    I've nominated this for discussion in a t-libs meeting for the reasons quoted above.

  20. waynr commented on Aug 24, 2023

    @waynr
    Contributor

    Ah shoot, I forgot to respond to this issue when @yaahc pinged me last month.

    Yeah, I've been slowly making progress on the Error generic member access. One of my problems is that I am not very active in the Rust project to begin with and haven't been doing a very good job of attending to it consistently.

    Has this been formally brought up to the libs team?

    What does it mean to formally bring up stalled issues with the libs team? Ping in Zulip? Ping on tracking issues? Get a spot on their weekly meeting calendar?

    I think it would be interesting to have some public visibility (call for volunteers etc.) for efforts that are stalling out a bit (assuming lack of activity is the problem of course).

    While I have some consistency/time management problems and I am not exactly proficient with Rust at the level of others working on libs, I would like to get better in these areas and feel motivated to help out. So as far as volunteers go, I still want to do this! But eventually I won't have as much free time as I have had the past few months (currently unemployed, that could change as soon as the next few weeks)

    To avoid that scenario, I would definitely appreciate advice anyone has about how to procede (I realize that even though I may have ample free time to get things done, other people have more and different competing priorities so i may end up waiting longer than i would like for PR review). For example:

    If there are higher priority items (like stabilizing error_in_core) I'd be happy to take a look at those in addition to error_generic_member_access.

    @ChrisDenton is the libs team meeting open for anyone to attend?

  21. ChrisDenton commented on Aug 24, 2023

    @ChrisDenton
    Member

    Hm, you may want to create a new topic on zulip if you need some advice on how to move forward.

    But yes, anyone can attend meetings. This is also organised on zulip.

  22. added
    T-libsRelevant to the library team, which will review and decide on the PR/issue.
    and removed
    T-libs-api[DEPRECATED; DO NOT USE]
    on Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

A-error-handlingArea: Error handlingB-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCI-libs-radarLibs issues that are tracked on the team's radar.PG-error-handlingProject group: Error handling (https://github.com/rust-lang/project-error-handling)T-libsRelevant to the library team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions