diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2019-11-25 17:25:47 +0100 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2019-11-25 18:13:29 +0100 |
| commit | ea1b8039ada203a50342fda342f905c932cd4eef (patch) | |
| tree | 9d2142d6c668af2fd25bfd2ccc6c71e78bbb2368 /src | |
| parent | 18bb9129840bc62f083f93d6518a50b4df5bb3b1 (diff) | |
| download | rust-ea1b8039ada203a50342fda342f905c932cd4eef.tar.gz rust-ea1b8039ada203a50342fda342f905c932cd4eef.zip | |
Pass Queries by reference.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_interface/queries.rs | 10 | ||||
| -rw-r--r-- | src/librustdoc/core.rs | 4 |
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(); |
