about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-04-09 09:18:49 +0200
committerJohn Kåre Alsaker <john.kare.alsaker@gmail.com>2019-04-15 07:23:02 +0200
commitafeda72dad761325ea759fd2008730e24a165b9c (patch)
treeae73fa459ab1b4e21bc4a78815ad69d81c319967
parent61a7a60d45fd20bee343a37693969a32e63cb905 (diff)
downloadrust-afeda72dad761325ea759fd2008730e24a165b9c.tar.gz
rust-afeda72dad761325ea759fd2008730e24a165b9c.zip
Ensure the symbols are pure strings
-rw-r--r--src/libsyntax/ast.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs
index c015e9b06ac..0668730b3ef 100644
--- a/src/libsyntax/ast.rs
+++ b/src/libsyntax/ast.rs
@@ -70,7 +70,13 @@ pub struct Path {
 
 impl PartialEq<Symbol> for Path {
     fn eq(&self, symbol: &Symbol) -> bool {
-        self.segments.len() == 1 && self.segments[0].ident.name.interned() == *symbol
+        self.segments.len() == 1 && {
+            let name = self.segments[0].ident.name;
+            // Make sure these symbols are pure strings
+            debug_assert!(!symbol.is_gensymed());
+            debug_assert!(!name.is_gensymed());
+            name == *symbol
+        }
     }
 }