diff options
Diffstat (limited to 'library/std/src/panic.rs')
-rw-r--r-- | library/std/src/panic.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/library/std/src/panic.rs b/library/std/src/panic.rs index 345d72ef8..69a6f3e6d 100644 --- a/library/std/src/panic.rs +++ b/library/std/src/panic.rs @@ -19,14 +19,16 @@ pub macro panic_2015 { $crate::rt::begin_panic("explicit panic") }), ($msg:expr $(,)?) => ({ - $crate::rt::begin_panic($msg) + $crate::rt::begin_panic($msg); }), // Special-case the single-argument case for const_panic. ("{}", $arg:expr $(,)?) => ({ - $crate::rt::panic_display(&$arg) + $crate::rt::panic_display(&$arg); }), ($fmt:expr, $($arg:tt)+) => ({ - $crate::rt::panic_fmt($crate::const_format_args!($fmt, $($arg)+)) + // Semicolon to prevent temporaries inside the formatting machinery from + // being considered alive in the caller after the panic_fmt call. + $crate::rt::panic_fmt($crate::const_format_args!($fmt, $($arg)+)); }), } |