# PEH 2020-10-26 Meeting Agenda ###### tags: `Error Handling` `Minutes` - [2020-10-12 Meeting Minutes](https://hackmd.io/@rust-libs/HJ0hiQfDP) ## Attendees - Jane Lusby - Ashley Mannix - Oliver :) - Jeremiah Senkpiel - Charles Ellis O'Riley Jr. - Sean Chen - Mara - DPC ## 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) - Create a tracking issue to document why `Box<dyn Error>` and related types do not implement the Error trait, what prevents it, and what would be needed moving forward (Ashley Mannix) [zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/257204-project-error-handling/topic/impl.20Error.20or.20dyn.20Error.3F/near/213235983) - Fill out table of contents of expected sections in `The Rust Error Book` (Oliver) - Review long-term vision blog post (Jane Lusby, Jakub Duchniewicz, Ashley Mannix) - Begin process of stabilization of `Backtrace` and `fn backtrace` (Ashley Mannix) - Resolve last blockers in `Fix The Error Trait` tracking issue (Oliver) - Status update on [PanicInfo::message](https://github.com/rust-lang/rust/issues/66745) (DPC) - Get mentorship instructions for implementing [`Nicer Assert Messages`](https://github.com/rust-lang/rust/issues/44838) RFC and begin implementation (Charles Ellis O'Riley Jr. and DPC) - Add unstable `fn frames(&self) -> &[BacktraceFrame]` method to `Backtrace` on nightly based on `backtrace` crate's API (Sean Chen and Ashley Mannix) ## Agenda Items - Review action items from last meeting - Begin tracking https://github.com/fusion-engineering-forks/rfcs/blob/panic/text/0000-panic-plan.md, status update from [@m-ou-se](https://github.com/m-ou-se) - Review open issues on project group repository - Anything to bubble up to the Libs meeting? ## Summary ### `impl<'a, E: Error + Sized + 'a> Error for &'a E` - We believe we should pursue stabilizing this. There's already an open PR to update: https://github.com/rust-lang/rust/pull/75180 ### `dyn Error` or `impl Error`? - We think the recommendation of `&(dyn Error + 'static)` for borrowed abstract errors and `impl Error + Send + Sync + 'static` for owned abstract errors is reasonable. ### Table of contents for the Rust book - We've sketched out a table of contents that's ready to PR back to the main repository. ### Stabilization for `Backtrace` - There's a current question about whether it's a problem that `Backtrace` doesn't share much with the internal machinery used to print panic backtraces. - @KodrAus is looking into it, and will post an update on the stabilization PR. - The panic implementation is a little different because it doesn't require all frames to be captured upfront, which is important for panic-on-oom support. Even if we don't share everything we should be able to share a little more between `sys_common::backtrace` and `backtrace`. ### Fixing the `Error` - The last outstanding item is that you can't use the precision flag to limit the number of frames being printed when formatting a backtrace. This doesn't need to block stabilization, and `Backtrace::frames` should also make it less important. ### `PanicInfo::message` - It's currently in progress. ### Better assert RFC - It's currently in progress. ### `Backtrace::frames` - There's an open PR for it that we're working through. ### Vision blog post - It's been updated with the latest round of feedback and is ready to go! # Meeting Minutes Meeting called to order at 13:00 Review of Action Items Review of implementing the backtrace in core PoC and updating the object provider RFC. No updates from Jane Lusby on those two items. Jane made a separate trackingh issue for box dyn error. Ashley Mannix will write a stabilization report for &dyn Error. action item: adding a table of contents for the rust book to which oliver will add a PR to project-error-handling repo for adding a table of contents for the rust book. @Ashley Mannix will investigate @ralfjung concerns abount pacin! relying on different internals than backtrace itself does next action item: resolving the "Fix The Error Trait" issue by @oliver which he's still looking into. Subsequent conversation on this issue determined that "fix backtrace's fmt" has been done and that the fancy extra fmt features could be spli into seperate tracking issues. next action item: @DPC status update on the "PanicInfo::message" PR which he started started working on it. next action item: Charles Ellis O'Riley Jr. and @DPC have been working on implementing the Better assert RFC. @Charles Ellis O'Riley Jr forked and cloned the repo Copied and filled in the config.toml file and ran the x.py command which produced more errors that I need to work through. next action item: backtrace frame. @Sean Chen started a draft PR for it. agenda item: @Mara has opened a new RFC for fixing inconsistencies between core and std panic. In summary the proposal is to make std's and core's panic macro the same one, and make it behave identically to print!() in how it uses its arguments so panic!("{}") and panic!(123) etc. will no longer compile. next agenda item: there are 7 open issues on the project group repo of which 3 have been discussed in this meeting, the impl Error for E: Error one and the backtrace proof of concept, and backtrace frames API @Jakub Duchniewicz will check into this globally consistent error reporting @Jane Lusby will look into Posix errors (the author) * move std::io::Error to core is currently blocked * error return traces are blocked by the generic member access RFC End of meeting. ## Participants People in attendance: Jane Lusby Ashley Mannix Oliver :cat2: Jeremiah Senkpiel DPC Mara Jakub Duchniewicz Sean Chen Charles Ellis O'Riley Jr.