about summary refs log tree commit diff
path: root/src/libsyntax/ext/concat.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-01-10 14:02:36 -0800
committerHuon Wilson <dbau.pp+github@gmail.com>2014-02-02 01:44:48 +1100
commit8e52b85d5a6f6e3aaa2f15d7c1e907d0ce8589ee (patch)
treeafcac214c65f792304926a71117ffdf37a0fd060 /src/libsyntax/ext/concat.rs
parent70c5a0fbf784d6a89b1c2c50f9fe83093bd21abc (diff)
downloadrust-8e52b85d5a6f6e3aaa2f15d7c1e907d0ce8589ee.tar.gz
rust-8e52b85d5a6f6e3aaa2f15d7c1e907d0ce8589ee.zip
libsyntax: De-`@str` literal strings in the AST
Diffstat (limited to 'src/libsyntax/ext/concat.rs')
-rw-r--r--src/libsyntax/ext/concat.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libsyntax/ext/concat.rs b/src/libsyntax/ext/concat.rs
index 2a68674af95..f570ca4c1bf 100644
--- a/src/libsyntax/ext/concat.rs
+++ b/src/libsyntax/ext/concat.rs
@@ -14,6 +14,7 @@ use ast;
 use codemap;
 use ext::base;
 use ext::build::AstBuilder;
+use parse::token;
 
 pub fn expand_syntax_ext(cx: &mut base::ExtCtxt,
                          sp: codemap::Span,
@@ -28,8 +29,10 @@ pub fn expand_syntax_ext(cx: &mut base::ExtCtxt,
         match e.node {
             ast::ExprLit(lit) => {
                 match lit.node {
-                    ast::LitStr(s, _) | ast::LitFloat(s, _)
-                    | ast::LitFloatUnsuffixed(s) => {
+                    ast::LitStr(ref s, _) => {
+                        accumulator.push_str(s.get());
+                    }
+                    ast::LitFloat(s, _) | ast::LitFloatUnsuffixed(s) => {
                         accumulator.push_str(s);
                     }
                     ast::LitChar(c) => {
@@ -55,5 +58,5 @@ pub fn expand_syntax_ext(cx: &mut base::ExtCtxt,
             }
         }
     }
-    return base::MRExpr(cx.expr_str(sp, accumulator.to_managed()));
+    base::MRExpr(cx.expr_str(sp, token::intern_and_get_ident(accumulator)))
 }