about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan S <gereeter+code@gmail.com>2015-11-04 00:20:31 -0600
committerJonathan S <gereeter+code@gmail.com>2015-11-04 20:38:03 -0600
commitf5781f143c1dfb2913e2402d880ea136ad8da43a (patch)
tree1bd825374fcf83e6eabd3769cac849232bdfc533
parent8a69a00941ddb06254abe8633a4f721fd0576266 (diff)
downloadrust-f5781f143c1dfb2913e2402d880ea136ad8da43a.tar.gz
rust-f5781f143c1dfb2913e2402d880ea136ad8da43a.zip
Remove use of RefCell<DefMap> in check_static_recursion
-rw-r--r--src/librustc/middle/check_static_recursion.rs8
-rw-r--r--src/librustc_driver/driver.rs2
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,