about summary refs log tree commit diff
path: root/src/librustc_interface
diff options
context:
space:
mode:
authormarmeladema <xademax@gmail.com>2020-06-21 15:49:38 +0100
committermarmeladema <xademax@gmail.com>2020-06-21 23:13:31 +0100
commit1d3f49f53654f12cf9f3501666c0dfd1afe5cf8b (patch)
treec2e8999cf8bcf021a8d871529e85e553fdf3b81c /src/librustc_interface
parentf60513ec8d97414a346cedb755a4cac3abd55ed1 (diff)
Always create a root definition when creating a new `Definitions` object.
Diffstat (limited to 'src/librustc_interface')
-rw-r--r--src/librustc_interface/passes.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs
index 1ed9bc3f1f5..ea3b19ab4a7 100644
--- a/src/librustc_interface/passes.rs
+++ b/src/librustc_interface/passes.rs
@@ -734,7 +734,10 @@ pub fn create_global_ctxt<'tcx>(
     arena: &'tcx WorkerLocal<Arena<'tcx>>,
 ) -> QueryContext<'tcx> {
     let sess = &compiler.session();
-    let defs: &'tcx Definitions = arena.alloc(mem::take(&mut resolver_outputs.definitions));
+    let defs: &'tcx Definitions = arena.alloc(mem::replace(
+        &mut resolver_outputs.definitions,
+        Definitions::new(crate_name, sess.local_crate_disambiguator()),
+    ));
 
     let query_result_on_disk_cache = rustc_incremental::load_query_result_cache(sess);