Store full arm location in DropBomb

Before, only the line was stored. This was enough for run-make tests, since these mostly only contain a single `rmake.rs` file, but not for bootstrap.
This commit is contained in:
Jakub Beránek 2024-07-04 15:56:16 +02:00 committed by Jakub Beránek
parent 49f54b8ee8
commit 042473fd13
No known key found for this signature in database
GPG key ID: 909CD0D26483516B

View file

@ -15,7 +15,7 @@ mod tests;
pub struct DropBomb {
command: OsString,
defused: bool,
armed_line: u32,
armed_location: panic::Location<'static>,
}
impl DropBomb {
@ -27,7 +27,7 @@ impl DropBomb {
DropBomb {
command: command.as_ref().into(),
defused: false,
armed_line: panic::Location::caller().line(),
armed_location: *panic::Location::caller(),
}
}
@ -41,8 +41,8 @@ impl Drop for DropBomb {
fn drop(&mut self) {
if !self.defused && !std::thread::panicking() {
panic!(
"command constructed but not executed at line {}: `{}`",
self.armed_line,
"command constructed but not executed at {}: `{}`",
self.armed_location,
self.command.to_string_lossy()
)
}