Skip to content

Commit 37e897f

Browse files
committed
Require the metadata loader to be thread-safe
1 parent e5acb0c commit 37e897f

File tree

4 files changed

+7
-7
lines changed

4 files changed

+7
-7
lines changed

src/librustc_metadata/cstore.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,11 @@ pub struct CStore {
9393
metas: RefCell<IndexVec<CrateNum, Option<Lrc<CrateMetadata>>>>,
9494
/// Map from NodeId's of local extern crate statements to crate numbers
9595
extern_mod_crate_map: RefCell<NodeMap<CrateNum>>,
96-
pub metadata_loader: Box<MetadataLoader>,
96+
pub metadata_loader: Box<MetadataLoader + Sync>,
9797
}
9898

9999
impl CStore {
100-
pub fn new(metadata_loader: Box<MetadataLoader>) -> CStore {
100+
pub fn new(metadata_loader: Box<MetadataLoader + Sync>) -> CStore {
101101
CStore {
102102
metas: RefCell::new(IndexVec::new()),
103103
extern_mod_crate_map: RefCell::new(FxHashMap()),

src/librustc_trans/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ impl TransCrate for LlvmTransCrate {
200200
target_features(sess)
201201
}
202202

203-
fn metadata_loader(&self) -> Box<MetadataLoader> {
203+
fn metadata_loader(&self) -> Box<MetadataLoader + Sync> {
204204
box metadata::LlvmMetadataLoader
205205
}
206206

src/librustc_trans_utils/trans_crate.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub trait TransCrate {
5858
fn print_version(&self) {}
5959
fn diagnostics(&self) -> &[(&'static str, &'static str)] { &[] }
6060

61-
fn metadata_loader(&self) -> Box<MetadataLoader>;
61+
fn metadata_loader(&self) -> Box<MetadataLoader + Sync>;
6262
fn provide(&self, _providers: &mut Providers);
6363
fn provide_extern(&self, _providers: &mut Providers);
6464
fn trans_crate<'a, 'tcx>(
@@ -84,7 +84,7 @@ pub trait TransCrate {
8484
pub struct DummyTransCrate;
8585

8686
impl TransCrate for DummyTransCrate {
87-
fn metadata_loader(&self) -> Box<MetadataLoader> {
87+
fn metadata_loader(&self) -> Box<MetadataLoader + Sync> {
8888
box DummyMetadataLoader(())
8989
}
9090

@@ -195,7 +195,7 @@ impl TransCrate for MetadataOnlyTransCrate {
195195
}
196196
}
197197

198-
fn metadata_loader(&self) -> Box<MetadataLoader> {
198+
fn metadata_loader(&self) -> Box<MetadataLoader + Sync> {
199199
box NoLlvmMetadataLoader
200200
}
201201

src/test/run-make/hotplug_codegen_backend/the_backend.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use rustc_trans_utils::trans_crate::{TransCrate, MetadataOnlyTransCrate};
2828
struct TheBackend(Box<TransCrate>);
2929

3030
impl TransCrate for TheBackend {
31-
fn metadata_loader(&self) -> Box<MetadataLoader> {
31+
fn metadata_loader(&self) -> Box<MetadataLoader + Sync> {
3232
self.0.metadata_loader()
3333
}
3434

0 commit comments

Comments
 (0)