# PEH 2020-11-09 Meeting Agenda ###### tags: `Error Handling` `Minutes` - [2020-10-26 Meeting Minutes](https://hackmd.io/@rust-libs/rJ6aitNOw) ## Action Items - Implement trait based proof of concept for `Backtrace` in `core` (Jane Lusby) - Update `object-provider` API in generic member access RFC (Jane Lusby) - Move forward with adding an Error impl for `&impl Error` (Ashley Mannix) - Create an FCP on the existing PR - Add guidance for using &dyn Error + 'static and impl Error + Send + Sync + 'static for borrow and owned errors respectively - Review the "Fix the error trait" tracking issue to figure out next steps (Oliver + Ashley Mannix) - Review the panic plan rfc (Jane Lusby) - reach out to the author of the error codes issue (Jane Lusby) - Discuss universally consistent error reporting (Jane Lusby, Jakub Duchniewicz, and Jeremiah Senkpiel) - Post long term plan blog post (Sean Chean & Jane Lusby) - Begin writing chapters for The Rust Error Book (unassigned) - Resolve blockers in the backtrace stabilizition PR (Ashley Mannix) ## Agenda Items - Review action items from last meeting - Review tracked issues in our [Project Board](https://github.com/rust-lang/project-error-handling/projects/1) - [RFC#2580 related to 'Stabilizing `Error::type_id`'](https://hackmd.io/1Fq9TcAQRWa4_weWTe9adA) - Anything to bubble up to the Libs meeting? - Review `The Rust Error Book` looking to add initial content - 2021 Rust Edition - postponed? - Discuss meeting time # Meeting Minutes Called to order at 13:00 PST ## Attendees - Jane Lusby - Sean Chen - Oliver - Ashley Mannix - Mara - Jakub Duchniewicz - DPC ## Progress on Backtrace in Core [Jane Lusby] - No progress on this since last time ## Update Generic Member Access API [Jane Lusby] - Reviewed changes made by Nika - We should be using rustc errors as an example in the RFC - Universal reporting is still messy and depends on features that don't exist yet - RFC for this is basically complete with some pending updates including examples related to compiler error reporting ## Adding an Error impl for `&impl Error` [Ashley Mannix] - In final comment period. Will go in 1.49.0 when it's ready to go. - starting patching for related libraries ## Review the “Fix the error trait” tracking issue [Oliver + Ashley Mannix] - No progress on this ## Review the panic plan rfc [Jane Lusby] - Now waiting for the FCP checkboxes; four more to go ## Reach out to the author of the error codes issue [Jane Lusby] - Didn't get to this ## Post long term plan blog post [Sean Chean & Jane Lusby] - Haven't put in suggested changes yet. ## Begin writing chapters for The Rust Error Book [unassigned] - Put out a call for a collection of references - Are we targeting 2021 edition? - Not particularly; shouldn't have any major breaking changes - Besides unifying `panic`, shouldn't have anything that interacts with editions - Universal error reporting _might_ become something that involves requiring a breaking change, but too nebulous to know at the moment ## Resolve blockers in the backtrace stabilizition PR [Ashley Mannix] - Different implementions for panics and errors since the panic backtrace resolver can resolve frames in the presence of memory errors. - Code between the two implementations can be shared, though this probably doesn't have implications on the API. - Unlisted concern in FCP - Blocked on Amanieu having time to look through the recent discussion to mark concern as resolved ## Discuss universally consistent error reporting [Jane Lusby, Jakub Duchniewicz, and Jeremiah Senkpiel] - Trying to find a way to introduce a "Reporter" that handles displaying `E: Error` objects and additionally captures context relevant to those errors. - Maybe extend this type to also handle `PanicInfo` objects - Should naturally fit the design of the Error trait - `PanicInfo` already has this handled by the hook from `set_hook` - Unification will be a challenge ## Backtrace Frames Method [Sean Chen] - Started on this, though need to continue working through details from @KodrAus - Suggestion to use a wrapper to return a borrow to data behind a `Mutex` - @KodrAus -- for safety should materialize a `Vec` behind a wrapper - additional suggestions forthcoming ## Nicer Assert Messages [Charles Ellis O'Riley Jr.] - Charles not in attendance today; punt this to next meeting ## `PanicInfo::message` RFC [DPC] - `de-vri-es` doing some work related to this - Trying to add some kind of `AssertionInfo` to a `PanicInfo` that the test crate can use to displays things more nicely without requiring support for colors in std ## `Error::type_id` [unassigned] - Should enable a way to have function specialization such that `type_id` would be specialized for every type - Priority: low ## Changing the Meeting Time going forward - SIMD meeting starts right after this one - Ideally, shift meeting back an hour for Daylight Savings and call it a day - If not, might have to do another poll for meeting times - Brought up in last week's SIMD meeting; didn't seem like anybody have issues with shifting it # Todo ## Blog post coming soon - goals to be run by project group before starting something on internals ## Update Object Provider API [Jane Lusby] - Add Nika's changes to RFC @2aetCAHHS5yPrDQIgqGo2Q ## Adding an Error impl for `&impl Error` [Ashley Mannix] - We can start patching libraries that it will break to get it ready for 1.49.0 @KodrAus ## Discuss universally consistent error reporting [Jane Lusby, Jakub Duchniewicz, and Jeremiah Senkpiel] - Draft a blog post laying this out @2aetCAHHS5yPrDQIgqGo2Q ## Review "The Rust Error Book" to add additional content - Create an issue and gather existing resources to use as references for the book @2aetCAHHS5yPrDQIgqGo2Q ## Resolve blockers in the backtrace stabilizition PR [Ashley Mannix] - Reach out to Amanieu to get their concerns resolved @KodrAus