Skip to content

Commit 26c2098

Browse files
committed
Rollup merge of #33964 - Ms2ger:refcell-resolutions, r=Manishearth
Move driver::Resolutions::def_map out of its RefCell.
2 parents 5ef7c43 + 989a303 commit 26c2098

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/librustc_driver/driver.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ use syntax_ext;
6363

6464
#[derive(Clone)]
6565
pub struct Resolutions {
66-
pub def_map: RefCell<DefMap>,
66+
pub def_map: DefMap,
6767
pub freevars: FreevarMap,
6868
pub trait_map: TraitMap,
6969
pub maybe_unused_trait_imports: NodeSet,
@@ -818,7 +818,7 @@ pub fn lower_and_resolve<'a>(sess: &Session,
818818
name: &id,
819819
glob_map: if resolver.make_glob_map { Some(resolver.glob_map) } else { None },
820820
}, Resolutions {
821-
def_map: RefCell::new(resolver.def_map),
821+
def_map: resolver.def_map,
822822
freevars: resolver.freevars,
823823
trait_map: resolver.trait_map,
824824
maybe_unused_trait_imports: resolver.maybe_unused_trait_imports,
@@ -866,7 +866,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session,
866866
"lifetime resolution",
867867
|| middle::resolve_lifetime::krate(sess,
868868
&hir_map,
869-
&resolutions.def_map.borrow()))?;
869+
&resolutions.def_map))?;
870870

871871
time(time_passes,
872872
"looking for entry point",
@@ -886,14 +886,14 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: &'tcx Session,
886886

887887
time(time_passes,
888888
"static item recursion checking",
889-
|| static_recursion::check_crate(sess, &resolutions.def_map.borrow(), &hir_map))?;
889+
|| static_recursion::check_crate(sess, &resolutions.def_map, &hir_map))?;
890890

891891
let index = stability::Index::new(&hir_map);
892892

893893
let trait_map = resolutions.trait_map;
894894
TyCtxt::create_and_enter(sess,
895895
arenas,
896-
resolutions.def_map,
896+
RefCell::new(resolutions.def_map),
897897
named_region_map,
898898
hir_map,
899899
resolutions.freevars,

src/librustc_driver/test.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ use rustc_metadata::cstore::CStore;
2929
use rustc_metadata::creader::read_local_crates;
3030
use rustc::hir::map as hir_map;
3131
use rustc::session::{self, config};
32+
use std::cell::RefCell;
3233
use std::rc::Rc;
3334
use syntax::ast;
3435
use syntax::abi::Abi;
@@ -134,12 +135,12 @@ fn test_env<F>(source_string: &str,
134135

135136
// run just enough stuff to build a tcx:
136137
let lang_items = lang_items::collect_language_items(&sess, &ast_map);
137-
let named_region_map = resolve_lifetime::krate(&sess, &ast_map, &resolutions.def_map.borrow());
138+
let named_region_map = resolve_lifetime::krate(&sess, &ast_map, &resolutions.def_map);
138139
let region_map = region::resolve_crate(&sess, &ast_map);
139140
let index = stability::Index::new(&ast_map);
140141
TyCtxt::create_and_enter(&sess,
141142
&arenas,
142-
resolutions.def_map,
143+
RefCell::new(resolutions.def_map),
143144
named_region_map.unwrap(),
144145
ast_map,
145146
resolutions.freevars,

0 commit comments

Comments
 (0)