about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2019-12-25 13:41:30 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2019-12-25 14:26:42 -0500
commit4dcc6270e891657906636f72dba57e4a4bac942d (patch)
treeffeab2af0ecf5530919ff34d0cfd73d11dd6aa67
parentb98633b94c5354fbcb02bd0111f2aba5155c3190 (diff)
downloadrust-4dcc6270e891657906636f72dba57e4a4bac942d.tar.gz
rust-4dcc6270e891657906636f72dba57e4a4bac942d.zip
Fix skipped setting of syntax::GLOBALS
-rw-r--r--src/librustc/ty/query/job.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc/ty/query/job.rs b/src/librustc/ty/query/job.rs
index f8bae1673d2..fbcbfae9f8f 100644
--- a/src/librustc/ty/query/job.rs
+++ b/src/librustc/ty/query/job.rs
@@ -435,12 +435,14 @@ pub unsafe fn handle_deadlock() {
     let syntax_pos_globals =
         syntax_pos::GLOBALS.with(|syntax_pos_globals| syntax_pos_globals as *const _);
     let syntax_pos_globals = &*syntax_pos_globals;
+    let syntax_globals = syntax::GLOBALS.with(|syntax_globals| syntax_globals as *const _);
+    let syntax_globals = &*syntax_globals;
     thread::spawn(move || {
         tls::GCX_PTR.set(gcx_ptr, || {
-            syntax_pos::GLOBALS.set(syntax_pos_globals, || {
+            syntax::GLOBALS.set(syntax_globals, || {
                 syntax_pos::GLOBALS
                     .set(syntax_pos_globals, || tls::with_global(|tcx| deadlock(tcx, &registry)))
-            })
+            });
         })
     });
 }