diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2014-04-30 16:49:12 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2014-04-30 16:49:12 -0700 |
| commit | 4baff4e15f003260de0cc17f419c418332e77149 (patch) | |
| tree | 0946dec00c29f67e175970eb1792103e0a2e568d /src/libsyntax | |
| parent | a3f9f37014c77cda1ae53bf0984190e877aa413a (diff) | |
| download | rust-4baff4e15f003260de0cc17f419c418332e77149.tar.gz rust-4baff4e15f003260de0cc17f419c418332e77149.zip | |
librustc: Remove `~"string"` and `&"string"` from the language
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 48 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 27 |
2 files changed, 29 insertions, 46 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 90bde60621d..34c4f77bc43 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -270,22 +270,22 @@ pub fn syntax_expander_table() -> SyntaxEnv { } let mut syntax_expanders = SyntaxEnv::new(); - syntax_expanders.insert(intern(&"macro_rules"), + syntax_expanders.insert(intern("macro_rules"), IdentTT(~BasicIdentMacroExpander { expander: ext::tt::macro_rules::add_new_extension, span: None, }, None)); - syntax_expanders.insert(intern(&"fmt"), + syntax_expanders.insert(intern("fmt"), builtin_normal_expander( ext::fmt::expand_syntax_ext)); - syntax_expanders.insert(intern(&"format_args"), + syntax_expanders.insert(intern("format_args"), builtin_normal_expander( ext::format::expand_args)); - syntax_expanders.insert(intern(&"env"), + syntax_expanders.insert(intern("env"), builtin_normal_expander( ext::env::expand_env)); - syntax_expanders.insert(intern(&"option_env"), + syntax_expanders.insert(intern("option_env"), builtin_normal_expander( ext::env::expand_option_env)); syntax_expanders.insert(intern("bytes"), @@ -297,63 +297,63 @@ pub fn syntax_expander_table() -> SyntaxEnv { syntax_expanders.insert(intern("concat"), builtin_normal_expander( ext::concat::expand_syntax_ext)); - syntax_expanders.insert(intern(&"log_syntax"), + syntax_expanders.insert(intern("log_syntax"), builtin_normal_expander( ext::log_syntax::expand_syntax_ext)); - syntax_expanders.insert(intern(&"deriving"), + syntax_expanders.insert(intern("deriving"), ItemDecorator(ext::deriving::expand_meta_deriving)); // Quasi-quoting expanders - syntax_expanders.insert(intern(&"quote_tokens"), + syntax_expanders.insert(intern("quote_tokens"), builtin_normal_expander( ext::quote::expand_quote_tokens)); - syntax_expanders.insert(intern(&"quote_expr"), + syntax_expanders.insert(intern("quote_expr"), builtin_normal_expander( ext::quote::expand_quote_expr)); - syntax_expanders.insert(intern(&"quote_ty"), + syntax_expanders.insert(intern("quote_ty"), builtin_normal_expander( ext::quote::expand_quote_ty)); - syntax_expanders.insert(intern(&"quote_item"), + syntax_expanders.insert(intern("quote_item"), builtin_normal_expander( ext::quote::expand_quote_item)); - syntax_expanders.insert(intern(&"quote_pat"), + syntax_expanders.insert(intern("quote_pat"), builtin_normal_expander( ext::quote::expand_quote_pat)); - syntax_expanders.insert(intern(&"quote_stmt"), + syntax_expanders.insert(intern("quote_stmt"), builtin_normal_expander( ext::quote::expand_quote_stmt)); - syntax_expanders.insert(intern(&"line"), + syntax_expanders.insert(intern("line"), builtin_normal_expander( ext::source_util::expand_line)); - syntax_expanders.insert(intern(&"col"), + syntax_expanders.insert(intern("col"), builtin_normal_expander( ext::source_util::expand_col)); - syntax_expanders.insert(intern(&"file"), + syntax_expanders.insert(intern("file"), builtin_normal_expander( ext::source_util::expand_file)); - syntax_expanders.insert(intern(&"stringify"), + syntax_expanders.insert(intern("stringify"), builtin_normal_expander( ext::source_util::expand_stringify)); - syntax_expanders.insert(intern(&"include"), + syntax_expanders.insert(intern("include"), builtin_normal_expander( ext::source_util::expand_include)); - syntax_expanders.insert(intern(&"include_str"), + syntax_expanders.insert(intern("include_str"), builtin_normal_expander( ext::source_util::expand_include_str)); - syntax_expanders.insert(intern(&"include_bin"), + syntax_expanders.insert(intern("include_bin"), builtin_normal_expander( ext::source_util::expand_include_bin)); - syntax_expanders.insert(intern(&"module_path"), + syntax_expanders.insert(intern("module_path"), builtin_normal_expander( ext::source_util::expand_mod)); - syntax_expanders.insert(intern(&"asm"), + syntax_expanders.insert(intern("asm"), builtin_normal_expander( ext::asm::expand_asm)); - syntax_expanders.insert(intern(&"cfg"), + syntax_expanders.insert(intern("cfg"), builtin_normal_expander( ext::cfg::expand_cfg)); - syntax_expanders.insert(intern(&"trace_macros"), + syntax_expanders.insert(intern("trace_macros"), builtin_normal_expander( ext::trace_macros::expand_trace_macros)); syntax_expanders diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 8e6d6719bb9..5d8443b64d5 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2779,28 +2779,11 @@ impl<'a> Parser<'a> { } } token::BINOP(token::AND) | token::ANDAND => { - // parse &pat - let lo = self.span.lo; - self.expect_and(); - let sub = self.parse_pat(); - hi = sub.span.hi; - // HACK: parse &"..." as a literal of a borrowed str - pat = match sub.node { - PatLit(e) => { - match e.node { - ExprLit(lit) if lit_is_str(lit) => { - let vst = @Expr { - id: ast::DUMMY_NODE_ID, - node: ExprVstore(e, ExprVstoreSlice), - span: mk_sp(lo, hi) - }; - PatLit(vst) - } - _ => PatRegion(sub), - } - } - _ => PatRegion(sub), - }; + // parse &pat + let lo = self.span.lo; + self.expect_and(); + let sub = self.parse_pat(); + pat = PatRegion(sub); hi = self.last_span.hi; return @ast::Pat { id: ast::DUMMY_NODE_ID, |
