mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-26 13:01:27 +03:00
add and use PanicMessage::into_string
This commit is contained in:
@@ -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(())
|
||||
|
||||
@@ -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() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user