diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-03-07 07:13:10 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-03-07 07:13:10 -0800 |
| commit | 5a5e9410148dd10586acd50e4e99b515b0e3111a (patch) | |
| tree | b644f2041fbb8d945cccb7e09e7c3879f06f8786 /src/librustc_trans_utils | |
| parent | a8eaabcdbaa66da93e35025ed0d02ad01c5824c3 (diff) | |
| parent | 62089c335fbdbe2a04c432239dce9e6e8f9a5e8e (diff) | |
Merge branch 'metadata-send-sync' of https://github.com/Zoxc/rust into update-cargo
Diffstat (limited to 'src/librustc_trans_utils')
| -rw-r--r-- | src/librustc_trans_utils/lib.rs | 2 | ||||
| -rw-r--r-- | src/librustc_trans_utils/trans_crate.rs | 14 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/librustc_trans_utils/lib.rs b/src/librustc_trans_utils/lib.rs index d636a5f2e64..915f8d4588d 100644 --- a/src/librustc_trans_utils/lib.rs +++ b/src/librustc_trans_utils/lib.rs @@ -40,7 +40,7 @@ extern crate rustc_incremental; #[macro_use] extern crate syntax; extern crate syntax_pos; -extern crate rustc_data_structures; +#[macro_use] extern crate rustc_data_structures; pub extern crate rustc as __rustc; diff --git a/src/librustc_trans_utils/trans_crate.rs b/src/librustc_trans_utils/trans_crate.rs index 7b2cbe140ae..784c662e371 100644 --- a/src/librustc_trans_utils/trans_crate.rs +++ b/src/librustc_trans_utils/trans_crate.rs @@ -28,7 +28,7 @@ use std::fs::File; use std::path::Path; use std::sync::mpsc; -use rustc_data_structures::owning_ref::{ErasedBoxRef, OwningRef}; +use rustc_data_structures::owning_ref::OwningRef; use rustc_data_structures::sync::Lrc; use ar::{Archive, Builder, Header}; use flate2::Compression; @@ -47,6 +47,8 @@ use rustc_back::target::Target; use rustc_mir::monomorphize::collector; use link::{build_link_meta, out_filename}; +pub use rustc_data_structures::sync::MetadataRef; + pub trait TransCrate { fn init(&self, _sess: &Session) {} fn print(&self, _req: PrintRequest, _sess: &Session) {} @@ -119,7 +121,7 @@ impl MetadataLoader for DummyMetadataLoader { &self, _target: &Target, _filename: &Path - ) -> Result<ErasedBoxRef<[u8]>, String> { + ) -> Result<MetadataRef, String> { bug!("DummyMetadataLoader::get_rlib_metadata"); } @@ -127,7 +129,7 @@ impl MetadataLoader for DummyMetadataLoader { &self, _target: &Target, _filename: &Path - ) -> Result<ErasedBoxRef<[u8]>, String> { + ) -> Result<MetadataRef, String> { bug!("DummyMetadataLoader::get_dylib_metadata"); } } @@ -135,7 +137,7 @@ impl MetadataLoader for DummyMetadataLoader { pub struct NoLlvmMetadataLoader; impl MetadataLoader for NoLlvmMetadataLoader { - fn get_rlib_metadata(&self, _: &Target, filename: &Path) -> Result<ErasedBoxRef<[u8]>, String> { + fn get_rlib_metadata(&self, _: &Target, filename: &Path) -> Result<MetadataRef, String> { let file = File::open(filename) .map_err(|e| format!("metadata file open err: {:?}", e))?; let mut archive = Archive::new(file); @@ -147,7 +149,7 @@ impl MetadataLoader for NoLlvmMetadataLoader { let mut buf = Vec::new(); io::copy(&mut entry, &mut buf).unwrap(); let buf: OwningRef<Vec<u8>, [u8]> = OwningRef::new(buf).into(); - return Ok(buf.map_owner_box().erase_owner()); + return Ok(rustc_erase_owner!(buf.map_owner_box())); } } @@ -158,7 +160,7 @@ impl MetadataLoader for NoLlvmMetadataLoader { &self, _target: &Target, _filename: &Path, - ) -> Result<ErasedBoxRef<[u8]>, String> { + ) -> Result<MetadataRef, String> { // FIXME: Support reading dylibs from llvm enabled rustc self.get_rlib_metadata(_target, _filename) } |
