diff options
| author | Jonathan S <gereeter+code@gmail.com> | 2015-11-04 00:20:31 -0600 |
|---|---|---|
| committer | Jonathan S <gereeter+code@gmail.com> | 2015-11-04 20:38:03 -0600 |
| commit | f5781f143c1dfb2913e2402d880ea136ad8da43a (patch) | |
| tree | 1bd825374fcf83e6eabd3769cac849232bdfc533 | |
| parent | 8a69a00941ddb06254abe8633a4f721fd0576266 (diff) | |
| download | rust-f5781f143c1dfb2913e2402d880ea136ad8da43a.tar.gz rust-f5781f143c1dfb2913e2402d880ea136ad8da43a.zip | |
Remove use of RefCell<DefMap> in check_static_recursion
| -rw-r--r-- | src/librustc/middle/check_static_recursion.rs | 8 | ||||
| -rw-r--r-- | src/librustc_driver/driver.rs | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/librustc/middle/check_static_recursion.rs b/src/librustc/middle/check_static_recursion.rs index cfd7d3548e0..dd49010c436 100644 --- a/src/librustc/middle/check_static_recursion.rs +++ b/src/librustc/middle/check_static_recursion.rs @@ -27,7 +27,7 @@ use std::cell::RefCell; struct CheckCrateVisitor<'a, 'ast: 'a> { sess: &'a Session, - def_map: &'a RefCell<DefMap>, + def_map: &'a DefMap, ast_map: &'a ast_map::Map<'ast>, // `discriminant_map` is a cache that associates the `NodeId`s of local // variant definitions with the discriminant expression that applies to @@ -92,7 +92,7 @@ impl<'a, 'ast: 'a> Visitor<'ast> for CheckCrateVisitor<'a, 'ast> { pub fn check_crate<'ast>(sess: &Session, krate: &'ast hir::Crate, - def_map: &RefCell<DefMap>, + def_map: &DefMap, ast_map: &ast_map::Map<'ast>) { let mut visitor = CheckCrateVisitor { sess: sess, @@ -108,7 +108,7 @@ struct CheckItemRecursionVisitor<'a, 'ast: 'a> { root_span: &'a Span, sess: &'a Session, ast_map: &'a ast_map::Map<'ast>, - def_map: &'a RefCell<DefMap>, + def_map: &'a DefMap, discriminant_map: &'a RefCell<NodeMap<Option<&'ast hir::Expr>>>, idstack: Vec<ast::NodeId>, } @@ -237,7 +237,7 @@ impl<'a, 'ast: 'a> Visitor<'ast> for CheckItemRecursionVisitor<'a, 'ast> { fn visit_expr(&mut self, e: &'ast hir::Expr) { match e.node { hir::ExprPath(..) => { - match self.def_map.borrow().get(&e.id).map(|d| d.base_def) { + match self.def_map.get(&e.id).map(|d| d.base_def) { Some(DefStatic(def_id, _)) | Some(DefAssociatedConst(def_id)) | Some(DefConst(def_id)) => { diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index 06708a5127f..558ecf85511 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -718,7 +718,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session, middle::check_loop::check_crate(sess, krate)); time(time_passes, "static item recursion checking", || - middle::check_static_recursion::check_crate(sess, krate, &def_map, &ast_map)); + middle::check_static_recursion::check_crate(sess, krate, &def_map.borrow(), &ast_map)); ty::ctxt::create_and_enter(sess, arenas, |
