summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorDavid Wood <david@davidtw.co>2019-05-01 14:31:27 +0100
committerDavid Wood <david@davidtw.co>2019-05-01 15:00:43 +0100
commitf47735c3dc596c0b55c2221a18915a7b25ed1492 (patch)
tree07ba41492e8e495ad5dc7d5681399c8b03e9161f /src/libsyntax/parse/parser.rs
parentb05d5db87bd9a3f31729a5c48dc5dd5bec6dbd2d (diff)
downloadrust-f47735c3dc596c0b55c2221a18915a7b25ed1492.tar.gz
rust-f47735c3dc596c0b55c2221a18915a7b25ed1492.zip
Ensure that users cannot use generated arguments.
This commit gensyms the generated ident for replacement arguments so
that users cannot refer to them. It also ensures that levenshtein
distance suggestions do not suggest gensymed identifiers.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index a10ee17b7e7..8d95b390001 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -8878,7 +8878,7 @@ impl<'a> Parser<'a> {
 
                 // Construct a name for our temporary argument.
                 let name = format!("__arg{}", index);
-                let ident = Ident::from_str(&name);
+                let ident = Ident::from_str(&name).gensym();
 
                 // Check if this is a ident pattern, if so, we can optimize and avoid adding a
                 // `let <pat> = __argN;` statement, instead just adding a `let <pat> = <pat>;`