about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2019-11-25 17:25:47 +0100
committerCamille GILLOT <gillot.camille@gmail.com>2019-11-25 18:13:29 +0100
commitea1b8039ada203a50342fda342f905c932cd4eef (patch)
tree9d2142d6c668af2fd25bfd2ccc6c71e78bbb2368 /src
parent18bb9129840bc62f083f93d6518a50b4df5bb3b1 (diff)
downloadrust-ea1b8039ada203a50342fda342f905c932cd4eef.tar.gz
rust-ea1b8039ada203a50342fda342f905c932cd4eef.zip
Pass Queries by reference.
Diffstat (limited to 'src')
-rw-r--r--src/librustc_interface/queries.rs10
-rw-r--r--src/librustdoc/core.rs4
2 files changed, 7 insertions, 7 deletions
diff --git a/src/librustc_interface/queries.rs b/src/librustc_interface/queries.rs
index 1a510763d6b..574a2455124 100644
--- a/src/librustc_interface/queries.rs
+++ b/src/librustc_interface/queries.rs
@@ -278,7 +278,7 @@ impl<'comp> Queries<'comp> {
         })
     }
 
-    pub fn linker(self) -> Result<Linker> {
+    pub fn linker(&self) -> Result<Linker> {
         let dep_graph = self.dep_graph()?;
         let prepare_outputs = self.prepare_outputs()?;
         let ongoing_codegen = self.ongoing_codegen()?;
@@ -288,7 +288,7 @@ impl<'comp> Queries<'comp> {
 
         Ok(Linker {
             sess,
-            dep_graph: dep_graph.take(),
+            dep_graph: dep_graph.peek().clone(),
             prepare_outputs: prepare_outputs.take(),
             ongoing_codegen: ongoing_codegen.take(),
             codegen_backend,
@@ -316,11 +316,11 @@ impl Linker {
 }
 
 impl Compiler {
-    pub fn enter<'c, F, T>(&'c self, f: F) -> Result<T>
-        where F: FnOnce(Queries<'c>) -> Result<T>
+    pub fn enter<'c, F, T>(&'c self, f: F) -> T
+        where F: for<'q> FnOnce(&'q Queries<'c>) -> T
     {
         let queries = Queries::new(&self);
-        f(queries)
+        f(&queries)
     }
 
     // This method is different to all the other methods in `Compiler` because
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index 02045b0dec8..ebd100e62d4 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -377,8 +377,8 @@ pub fn run_core(options: RustdocOptions) -> (clean::Crate, RenderInfo, RenderOpt
 
             let global_ctxt = abort_on_err(queries.global_ctxt(), sess).take();
 
-            Ok((resolver, global_ctxt))
-        }).unwrap();
+            (resolver, global_ctxt)
+        });
 
         global_ctxt.enter(|tcx| {
             tcx.analysis(LOCAL_CRATE).ok();