summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_builtin_macros/src/compile_error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_builtin_macros/src/compile_error.rs')
-rw-r--r--compiler/rustc_builtin_macros/src/compile_error.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler/rustc_builtin_macros/src/compile_error.rs b/compiler/rustc_builtin_macros/src/compile_error.rs
new file mode 100644
index 000000000..72397aa25
--- /dev/null
+++ b/compiler/rustc_builtin_macros/src/compile_error.rs
@@ -0,0 +1,19 @@
+// The compiler code necessary to support the compile_error! extension.
+
+use rustc_ast::tokenstream::TokenStream;
+use rustc_expand::base::{self, *};
+use rustc_span::Span;
+
+pub fn expand_compile_error<'cx>(
+ cx: &'cx mut ExtCtxt<'_>,
+ sp: Span,
+ tts: TokenStream,
+) -> Box<dyn base::MacResult + 'cx> {
+ let Some(var) = get_single_str_from_tts(cx, sp, tts, "compile_error!") else {
+ return DummyResult::any(sp);
+ };
+
+ cx.span_err(sp, var.as_str());
+
+ DummyResult::any(sp)
+}