about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicholas Nethercote <nnethercote@mozilla.com>2019-05-17 10:27:17 +1000
committerNicholas Nethercote <nnethercote@mozilla.com>2019-05-20 14:46:30 +1000
commite57c0dbeb72cf631930429a20badd41290bb0608 (patch)
tree9e8dcfbbdfaa7a6f123c78d91ae1e60b6e9b7590 /src
parentf6637f3fcc01d7efe9a2e00f62d35a7e68ae892d (diff)
downloadrust-e57c0dbeb72cf631930429a20badd41290bb0608.tar.gz
rust-e57c0dbeb72cf631930429a20badd41290bb0608.zip
Eliminate `Symbol::gensymed`.
Diffstat (limited to 'src')
-rw-r--r--src/libsyntax/std_inject.rs13
-rw-r--r--src/libsyntax_ext/test.rs2
-rw-r--r--src/libsyntax_pos/symbol.rs7
3 files changed, 7 insertions, 15 deletions
diff --git a/src/libsyntax/std_inject.rs b/src/libsyntax/std_inject.rs
index 6784a2abe55..fe8c9f03a2c 100644
--- a/src/libsyntax/std_inject.rs
+++ b/src/libsyntax/std_inject.rs
@@ -63,18 +63,13 @@ pub fn maybe_inject_crates_ref(
 
     // .rev() to preserve ordering above in combination with insert(0, ...)
     let alt_std_name = alt_std_name.map(Symbol::intern);
-    for orig_name in names.iter().rev() {
-        let orig_name = Symbol::intern(orig_name);
-        let mut rename = orig_name;
+    for orig_name_str in names.iter().rev() {
         // HACK(eddyb) gensym the injected crates on the Rust 2018 edition,
         // so they don't accidentally interfere with the new import paths.
-        if rust_2018 {
-            rename = orig_name.gensymed();
-        }
-        let orig_name = if rename != orig_name {
-            Some(orig_name)
+        let (rename, orig_name) = if rust_2018 {
+            (Symbol::gensym(orig_name_str), Some(Symbol::intern(orig_name_str)))
         } else {
-            None
+            (Symbol::intern(orig_name_str), None)
         };
         krate.module.items.insert(0, P(ast::Item {
             attrs: vec![attr::mk_attr_outer(
diff --git a/src/libsyntax_ext/test.rs b/src/libsyntax_ext/test.rs
index 86ae6ab5fec..211a098022f 100644
--- a/src/libsyntax_ext/test.rs
+++ b/src/libsyntax_ext/test.rs
@@ -127,7 +127,7 @@ pub fn expand_test_or_bench(
         ])
     };
 
-    let mut test_const = cx.item(sp, ast::Ident::new(item.ident.name.gensymed(), sp),
+    let mut test_const = cx.item(sp, ast::Ident::new(item.ident.name, sp).gensym(),
         vec![
             // #[cfg(test)]
             cx.attribute(attr_sp, cx.meta_list(attr_sp, Symbol::intern("cfg"), vec![
diff --git a/src/libsyntax_pos/symbol.rs b/src/libsyntax_pos/symbol.rs
index 3cd5577e19e..2bf3b1fa465 100644
--- a/src/libsyntax_pos/symbol.rs
+++ b/src/libsyntax_pos/symbol.rs
@@ -677,7 +677,8 @@ impl Ident {
     }
 
     pub fn gensym(self) -> Ident {
-        Ident::new(self.name.gensymed(), self.span)
+        let name = with_interner(|interner| interner.gensymed(self.name));
+        Ident::new(name, self.span)
     }
 
     pub fn gensym_if_underscore(self) -> Ident {
@@ -787,10 +788,6 @@ impl Symbol {
         with_interner(|interner| interner.gensym(string))
     }
 
-    pub fn gensymed(self) -> Self {
-        with_interner(|interner| interner.gensymed(self))
-    }
-
     pub fn as_str(self) -> LocalInternedString {
         with_interner(|interner| unsafe {
             LocalInternedString {