1 use rustc_ast::tokenstream::{TokenStream, TokenTree};
2 use rustc_expand::base::{self, ExtCtxt};
3 use rustc_span::symbol::kw;
6 pub fn expand_trace_macros(
10 ) -> Box<dyn base::MacResult + 'static> {
11 let mut cursor = tt.into_trees();
13 let value = match &cursor.next() {
14 Some(TokenTree::Token(token, _)) if token.is_keyword(kw::True) => true,
15 Some(TokenTree::Token(token, _)) if token.is_keyword(kw::False) => false,
21 err |= cursor.next().is_some();
23 cx.span_err(sp, "trace_macros! accepts only `true` or `false`")
25 cx.set_trace_macros(value);
28 base::DummyResult::any_valid(sp)