diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-06-10 22:24:24 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-06-28 11:04:50 +0300 |
| commit | f0622dfe5d5414c59258d8c2669d26d3dc34a469 (patch) | |
| tree | b03f6d2decf23f587659df808a7dae472d55b59d /src/libsyntax_pos | |
| parent | c6ca1e4abdb9476d8aa68457414ef80c5249caee (diff) | |
| download | rust-f0622dfe5d5414c59258d8c2669d26d3dc34a469.tar.gz rust-f0622dfe5d5414c59258d8c2669d26d3dc34a469.zip | |
Use `Ident`s for associated item definitions in HIR
Remove emulation of hygiene with gensyms
Diffstat (limited to 'src/libsyntax_pos')
| -rw-r--r-- | src/libsyntax_pos/hygiene.rs | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/src/libsyntax_pos/hygiene.rs b/src/libsyntax_pos/hygiene.rs index d1b9c7a84d1..99d8b1b172d 100644 --- a/src/libsyntax_pos/hygiene.rs +++ b/src/libsyntax_pos/hygiene.rs @@ -18,7 +18,7 @@ use GLOBALS; use Span; use edition::Edition; -use symbol::{Ident, Symbol}; +use symbol::Symbol; use serialize::{Encodable, Decodable, Encoder, Decoder}; use std::collections::HashMap; @@ -190,7 +190,6 @@ pub struct HygieneData { marks: Vec<MarkData>, syntax_contexts: Vec<SyntaxContextData>, markings: HashMap<(SyntaxContext, Mark), SyntaxContext>, - gensym_to_ctxt: HashMap<Symbol, Span>, default_edition: Edition, } @@ -211,7 +210,6 @@ impl HygieneData { modern: SyntaxContext(0), }], markings: HashMap::new(), - gensym_to_ctxt: HashMap::new(), default_edition: Edition::Edition2015, } } @@ -559,22 +557,3 @@ impl Decodable for SyntaxContext { Ok(SyntaxContext::empty()) // FIXME(jseyfried) intercrate hygiene } } - -impl Symbol { - pub fn from_ident(ident: Ident) -> Symbol { - HygieneData::with(|data| { - let gensym = ident.name.gensymed(); - data.gensym_to_ctxt.insert(gensym, ident.span); - gensym - }) - } - - pub fn to_ident(self) -> Ident { - HygieneData::with(|data| { - match data.gensym_to_ctxt.get(&self) { - Some(&span) => Ident::new(self.interned(), span), - None => Ident::with_empty_ctxt(self), - } - }) - } -} |
