]> git.lizzy.rs Git - rust.git/blob - src/libsyntax_ext/compile_error.rs
Improve error recovery for some built-in macros
[rust.git] / src / libsyntax_ext / compile_error.rs
1 // The compiler code necessary to support the compile_error! extension.
2
3 use syntax::ext::base::*;
4 use syntax::ext::base;
5 use syntax_pos::Span;
6 use syntax::tokenstream;
7
8 pub fn expand_compile_error<'cx>(cx: &'cx mut ExtCtxt,
9                               sp: Span,
10                               tts: &[tokenstream::TokenTree])
11                               -> Box<dyn base::MacResult + 'cx> {
12     let var = match get_single_str_from_tts(cx, sp, tts, "compile_error!") {
13         None => return DummyResult::any(sp),
14         Some(v) => v,
15     };
16
17     cx.span_err(sp, &var);
18
19     DummyResult::any(sp)
20 }