@@ -19,11 +19,9 @@ use syntax::{ast_util, ast_map};
19
19
use syntax:: visit:: Visitor ;
20
20
use syntax:: visit;
21
21
22
- use std:: cell:: RefCell ;
23
-
24
22
struct CheckCrateVisitor < ' a , ' ast : ' a > {
25
23
sess : & ' a Session ,
26
- def_map : & ' a RefCell < DefMap > ,
24
+ def_map : & ' a DefMap ,
27
25
ast_map : & ' a ast_map:: Map < ' ast >
28
26
}
29
27
@@ -35,7 +33,7 @@ impl<'v, 'a, 'ast> Visitor<'v> for CheckCrateVisitor<'a, 'ast> {
35
33
36
34
pub fn check_crate < ' ast > ( sess : & Session ,
37
35
krate : & ast:: Crate ,
38
- def_map : & RefCell < DefMap > ,
36
+ def_map : & DefMap ,
39
37
ast_map : & ast_map:: Map < ' ast > ) {
40
38
let mut visitor = CheckCrateVisitor {
41
39
sess : sess,
@@ -61,15 +59,15 @@ struct CheckItemRecursionVisitor<'a, 'ast: 'a> {
61
59
root_it : & ' a ast:: Item ,
62
60
sess : & ' a Session ,
63
61
ast_map : & ' a ast_map:: Map < ' ast > ,
64
- def_map : & ' a RefCell < DefMap > ,
62
+ def_map : & ' a DefMap ,
65
63
idstack : Vec < ast:: NodeId >
66
64
}
67
65
68
66
// Make sure a const item doesn't recursively refer to itself
69
67
// FIXME: Should use the dependency graph when it's available (#1356)
70
68
pub fn check_item_recursion < ' a > ( sess : & ' a Session ,
71
69
ast_map : & ' a ast_map:: Map ,
72
- def_map : & ' a RefCell < DefMap > ,
70
+ def_map : & ' a DefMap ,
73
71
it : & ' a ast:: Item ) {
74
72
75
73
let mut visitor = CheckItemRecursionVisitor {
@@ -96,7 +94,7 @@ impl<'a, 'ast, 'v> Visitor<'v> for CheckItemRecursionVisitor<'a, 'ast> {
96
94
fn visit_expr ( & mut self , e : & ast:: Expr ) {
97
95
match e. node {
98
96
ast:: ExprPath ( ..) => {
99
- match self . def_map . borrow ( ) . get ( & e. id ) . map ( |d| d. base_def ) {
97
+ match self . def_map . get ( & e. id ) . map ( |d| d. base_def ) {
100
98
Some ( DefStatic ( def_id, _) ) |
101
99
Some ( DefConst ( def_id) ) if
102
100
ast_util:: is_local ( def_id) => {
0 commit comments