add and use PanicMessage::into_string

This commit is contained in:
cyrgani
2026-04-13 19:29:55 +00:00
parent a681f34d4b
commit f4780504cd
3 changed files with 16 additions and 10 deletions
+7 -9
View File
@@ -49,9 +49,7 @@ fn expand(
self.client.run(&strategy, server, input, proc_macro_backtrace).map_err(|e| {
ecx.dcx().emit_err(errors::ProcMacroPanicked {
span,
message: e
.as_str()
.map(|message| errors::ProcMacroPanickedHelp { message: message.into() }),
message: e.into_string().map(|message| errors::ProcMacroPanickedHelp { message }),
})
})
}
@@ -78,9 +76,9 @@ fn expand(
|e| {
ecx.dcx().emit_err(errors::CustomAttributePanicked {
span,
message: e.as_str().map(|message| errors::CustomAttributePanickedHelp {
message: message.into(),
}),
message: e
.into_string()
.map(|message| errors::CustomAttributePanickedHelp { message }),
})
},
)
@@ -206,9 +204,9 @@ fn expand_derive_macro(
ecx.dcx().emit_err({
errors::ProcMacroDerivePanicked {
span,
message: e.as_str().map(|message| errors::ProcMacroDerivePanickedHelp {
message: message.into(),
}),
message: e
.into_string()
.map(|message| errors::ProcMacroDerivePanickedHelp { message }),
}
});
Err(())
+8
View File
@@ -244,6 +244,14 @@ pub fn as_str(&self) -> Option<&str> {
PanicMessage::Unknown => None,
}
}
pub fn into_string(self) -> Option<String> {
match self {
PanicMessage::StaticStr(s) => Some(s.into()),
PanicMessage::String(s) => Some(s),
PanicMessage::Unknown => None,
}
}
}
impl<S> Encode<S> for PanicMessage {
@@ -7,7 +7,7 @@
impl From<bridge::PanicMessage> for crate::PanicMessage {
fn from(p: bridge::PanicMessage) -> Self {
Self { message: p.as_str().map(|s| s.to_owned()) }
Self { message: p.into_string() }
}
}