-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[COMPILETEST-UNTANGLE 2/N] Make some compiletest errors/warnings/help more visually obvious #143230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
r? @Kobzol The visual changes look great! Maybe we could add another macro, e.g. (you can r=me on the last commit) |
550c047
to
e2ddec0
Compare
Added a |
let status = ::colored::Colorize::bold(status); | ||
eprint!("{status}"); | ||
eprintln!($($arg)*); | ||
panic!("fatal error"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::panic::resume_unwind(Box::new(()))
would also work to silently panic (no panic message and no backtrace)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm right. Though a backtrace might be useful in this case, mostly for panic location?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Not that randomly panicking in random places is ideal, but)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least some of the cases of fatal!()
are user errors, not bugs in compiletest itself. For user errors backtraces aren't that useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to std::panic::resume_unwind(Box::new(()))
instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Backtraces are useful in general to make debugging easier though, even if it's a user error, users might sometimes want to take a look at compiletest's source code to see what exactly is triggering the panic, and what should they change (it might not always be obvious from the error message).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is true. I think I'll retain the explicit panic for the backtrace location at least for now. Eventually, though, I'd like the user error vs compiletest logic bug to be handled differently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going with the explicit panic for the short-term.
e2ddec0
to
f86b830
Compare
Changed to |
f86b830
to
c3fb7d1
Compare
Going with the explicit panic in |
…, r=Kobzol [COMPILETEST-UNTANGLE 2/N] Make some compiletest errors/warnings/help more visually obvious This PR makes some compiletest errors/warnings/help more visually obvious. Note that this is only intended to help visually -- the error handling in compiletest is still a mess.  r? ghost
This PR makes some compiletest errors/warnings/help more visually obvious. Note that this is only intended to help visually -- the error handling in compiletest is still a mess.
r? ghost