From bccdba02960b3cd428addbc2c856065ebb81eb04 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Fri, 6 Jun 2014 16:04:04 +0100 Subject: Add a b'x' byte literal of type u8. --- src/libsyntax/ext/concat.rs | 1 + src/libsyntax/ext/quote.rs | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'src/libsyntax/ext') diff --git a/src/libsyntax/ext/concat.rs b/src/libsyntax/ext/concat.rs index 83f45ca9f16..670e38327d6 100644 --- a/src/libsyntax/ext/concat.rs +++ b/src/libsyntax/ext/concat.rs @@ -47,6 +47,7 @@ pub fn expand_syntax_ext(cx: &mut base::ExtCtxt, ast::LitBool(b) => { accumulator.push_str(format!("{}", b).as_slice()); } + ast::LitByte(..) | ast::LitBinary(..) => { cx.span_err(e.span, "cannot concatenate a binary literal"); } diff --git a/src/libsyntax/ext/quote.rs b/src/libsyntax/ext/quote.rs index 6514d8fa418..407715ab4da 100644 --- a/src/libsyntax/ext/quote.rs +++ b/src/libsyntax/ext/quote.rs @@ -436,6 +436,12 @@ fn mk_token(cx: &ExtCtxt, sp: Span, tok: &token::Token) -> Gc { vec!(mk_binop(cx, sp, binop))); } + LIT_BYTE(i) => { + let e_byte = cx.expr_lit(sp, ast::LitByte(i)); + + return cx.expr_call(sp, mk_token_path(cx, sp, "LIT_BYTE"), vec!(e_byte)); + } + LIT_CHAR(i) => { let e_char = cx.expr_lit(sp, ast::LitChar(i)); -- cgit 1.4.1-3-g733a5