about summary refs log tree commit diff
path: root/compiler/rustc_expand/src/proc_macro.rs
diff options
context:
space:
mode:
authorTshepang Mbambo <tshepang@gmail.com>2023-02-24 23:37:10 +0200
committerTshepang Mbambo <tshepang@gmail.com>2023-02-24 23:37:10 +0200
commitdca52ac835f8c87dfc3167606d1146ce6b9bba11 (patch)
tree15ef651644e42f0100f1e8b49c4a5c9c8f59189b /compiler/rustc_expand/src/proc_macro.rs
parent07c993eba8b76eae497e98433ae075b00f01be10 (diff)
downloadrust-dca52ac835f8c87dfc3167606d1146ce6b9bba11.tar.gz
rust-dca52ac835f8c87dfc3167606d1146ce6b9bba11.zip
make "proc macro panicked" translatable
Diffstat (limited to 'compiler/rustc_expand/src/proc_macro.rs')
-rw-r--r--compiler/rustc_expand/src/proc_macro.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/compiler/rustc_expand/src/proc_macro.rs b/compiler/rustc_expand/src/proc_macro.rs
index e9a69192068..cef64a10479 100644
--- a/compiler/rustc_expand/src/proc_macro.rs
+++ b/compiler/rustc_expand/src/proc_macro.rs
@@ -1,4 +1,5 @@
 use crate::base::{self, *};
+use crate::errors;
 use crate::proc_macro_server;
 
 use rustc_ast as ast;
@@ -60,11 +61,12 @@ impl base::BangProcMacro for BangProcMacro {
         let strategy = exec_strategy(ecx);
         let server = proc_macro_server::Rustc::new(ecx);
         self.client.run(&strategy, server, input, proc_macro_backtrace).map_err(|e| {
-            let mut err = ecx.struct_span_err(span, "proc macro panicked");
-            if let Some(s) = e.as_str() {
-                err.help(&format!("message: {}", s));
-            }
-            err.emit()
+            ecx.sess.emit_err(errors::ProcMacroPanicked {
+                span,
+                message: e
+                    .as_str()
+                    .map(|message| errors::ProcMacroPanickedHelp { message: message.into() }),
+            })
         })
     }
 }