Pass fmt::Arguments by reference to PanicInfo and PanicMessage
This commit is contained in:
parent
eef00c8be8
commit
c2fdb3435f
2 changed files with 8 additions and 8 deletions
|
|
@ -12,7 +12,7 @@ use crate::panic::Location;
|
|||
#[stable(feature = "panic_hooks", since = "1.10.0")]
|
||||
#[derive(Debug)]
|
||||
pub struct PanicInfo<'a> {
|
||||
message: fmt::Arguments<'a>,
|
||||
message: &'a fmt::Arguments<'a>,
|
||||
location: &'a Location<'a>,
|
||||
can_unwind: bool,
|
||||
force_no_backtrace: bool,
|
||||
|
|
@ -26,13 +26,13 @@ pub struct PanicInfo<'a> {
|
|||
/// See [`PanicInfo::message`].
|
||||
#[stable(feature = "panic_info_message", since = "1.81.0")]
|
||||
pub struct PanicMessage<'a> {
|
||||
message: fmt::Arguments<'a>,
|
||||
message: &'a fmt::Arguments<'a>,
|
||||
}
|
||||
|
||||
impl<'a> PanicInfo<'a> {
|
||||
#[inline]
|
||||
pub(crate) fn new(
|
||||
message: fmt::Arguments<'a>,
|
||||
message: &'a fmt::Arguments<'a>,
|
||||
location: &'a Location<'a>,
|
||||
can_unwind: bool,
|
||||
force_no_backtrace: bool,
|
||||
|
|
@ -146,7 +146,7 @@ impl Display for PanicInfo<'_> {
|
|||
formatter.write_str("panicked at ")?;
|
||||
self.location.fmt(formatter)?;
|
||||
formatter.write_str(":\n")?;
|
||||
formatter.write_fmt(self.message)?;
|
||||
formatter.write_fmt(*self.message)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
@ -177,7 +177,7 @@ impl<'a> PanicMessage<'a> {
|
|||
impl Display for PanicMessage<'_> {
|
||||
#[inline]
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
formatter.write_fmt(self.message)
|
||||
formatter.write_fmt(*self.message)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -185,6 +185,6 @@ impl Display for PanicMessage<'_> {
|
|||
impl fmt::Debug for PanicMessage<'_> {
|
||||
#[inline]
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
formatter.write_fmt(self.message)
|
||||
formatter.write_fmt(*self.message)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ pub const fn panic_fmt(fmt: fmt::Arguments<'_>) -> ! {
|
|||
}
|
||||
|
||||
let pi = PanicInfo::new(
|
||||
fmt,
|
||||
&fmt,
|
||||
Location::caller(),
|
||||
/* can_unwind */ true,
|
||||
/* force_no_backtrace */ false,
|
||||
|
|
@ -102,7 +102,7 @@ pub const fn panic_nounwind_fmt(fmt: fmt::Arguments<'_>, force_no_backtrace: boo
|
|||
|
||||
// PanicInfo with the `can_unwind` flag set to false forces an abort.
|
||||
let pi = PanicInfo::new(
|
||||
fmt,
|
||||
&fmt,
|
||||
Location::caller(),
|
||||
/* can_unwind */ false,
|
||||
force_no_backtrace,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue