RFC 2965: error handling project group

libs ()

Summary

This RFC establishes a new project group, under the libs team, to drive efforts to improve error handling in Rust.

Motivation

The error handling project group aims to reduce confusion on how to structure error handling for users in the Rust community. This will be accomplished by creating learning resources and pushing effort to upstream widely used crates into the standard library. As a secondary goal, this project group will also try to resolve some known issues with the Error trait and reporting errors in panics/termination.

Charter

Goals

Agree on and define common error handling terminology

Come to a consensus on current best practices

Here is a tenative starting point, subject to change:

Identify pain points in error handling today

Communicate current best practices

Evaluate options for error reporting type a.k.a. better Box<dyn Error>

Consolidate ecosystem by merging best practice crates into std

Add missing features

Non Goals

Membership Requirements

Additional Questions

What support do you need, and separately want, from the Rust organization?

I'm not sure, my main concern is getting prompt feedback on RFCs.

Why should this be a project group over a community effort?

There isn't anything in this project group that can't be handled as a community effort, but centralizing work into a project group should help speed things. Error handling is a core aspect of the language and changes in error handling have large impacts on the ecosystem. Ensuring that efforts to refine error handling within Rust have sufficient resources and don't stall out is in the best interests of the community. By organizing efforts as a project group we will hopefully have an easier time recruiting new members, getting attention on RFCs from members of the libs team, and using the established resources and expertise of the rust organization for coordinating our efforts.

What do you expect the relationship to the team be?

The project group will create RFCs for various changes to the standard library and the team will review them via the standard RFC process.

Who are the initial shepherds/leaders? (This is preferably 2–3 individuals, but not required.)

Jane Lusby(@yaahc_), Andrew Gallant(@BurntSushi), and Sean Chen(@seanchen1991).

Is your group long-running or temporary?

Temporary.

If it is temporary, how long do you see it running for?

This depends pretty heavily on how quickly the RFCs move, anywhere between 6 months and 2 years I'd guess but don't quote me on this.

If applicable, which other groups or teams do you expect to have close contact with?

Primarily the libs team, but there may be some small interactions with the lang team, compiler team, and traits working group.

Where do you see your group needing help?

Primarily in drafting RFCs, writing is not this author's strong suit.