diff options
| author | Murarth <murarth@gmail.com> | 2014-11-28 21:56:09 -0700 |
|---|---|---|
| committer | Murarth <murarth@gmail.com> | 2014-11-29 09:50:48 -0700 |
| commit | 004533ea755ecfc5d65e282366aaffc523e9632c (patch) | |
| tree | 6da61627cfc0439e7eb220413eceed153be01df2 /src/libsyntax/ext | |
| parent | 29e928f2ba3501d37660314f6186d0e2ac18b9db (diff) | |
| download | rust-004533ea755ecfc5d65e282366aaffc523e9632c.tar.gz rust-004533ea755ecfc5d65e282366aaffc523e9632c.zip | |
Fix rustc panic on second compile_input
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/mtwt.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libsyntax/ext/mtwt.rs b/src/libsyntax/ext/mtwt.rs index e6d886e28ba..6ba90bbebed 100644 --- a/src/libsyntax/ext/mtwt.rs +++ b/src/libsyntax/ext/mtwt.rs @@ -136,6 +136,16 @@ pub fn clear_tables() { with_resolve_table_mut(|table| *table = HashMap::new()); } +/// Reset the tables to their initial state +pub fn reset_tables() { + with_sctable(|table| { + *table.table.borrow_mut() = vec!(EmptyCtxt, IllegalCtxt); + *table.mark_memo.borrow_mut() = HashMap::new(); + *table.rename_memo.borrow_mut() = HashMap::new(); + }); + with_resolve_table_mut(|table| *table = HashMap::new()); +} + /// Add a value to the end of a vec, return its index fn idx_push<T>(vec: &mut Vec<T>, val: T) -> u32 { vec.push(val); |
