pub use rustc_trans::LlvmMetadataLoader as MetadataLoader;
#[cfg(not(feature="llvm"))]
-mod no_llvm_metadata_loader{
+mod no_llvm_metadata_loader {
extern crate ar;
extern crate owning_ref;
-
+
use rustc::middle::cstore::MetadataLoader as MetadataLoaderTrait;
use rustc_back::target::Target;
use std::io;
use std::fs::File;
use std::path::Path;
-
+
use self::ar::Archive;
use self::owning_ref::{OwningRef, ErasedBoxRef};
pub struct NoLLvmMetadataLoader;
impl MetadataLoaderTrait for NoLLvmMetadataLoader {
- fn get_rlib_metadata(&self, _: &Target, filename: &Path) -> Result<ErasedBoxRef<[u8]>, String> {
- let file = File::open(filename).map_err(|e|format!("metadata file open err: {:?}", e))?;
+ fn get_rlib_metadata(
+ &self,
+ _: &Target,
+ filename: &Path
+ ) -> Result<ErasedBoxRef<[u8]>, String> {
+ let file = File::open(filename).map_err(|e| {
+ format!("metadata file open err: {:?}", e)
+ })?;
let mut archive = Archive::new(file);
while let Some(entry_result) = archive.next_entry() {
- let mut entry = entry_result.map_err(|e|format!("metadata section read err: {:?}", e))?;
+ let mut entry = entry_result.map_err(|e| {
+ format!("metadata section read err: {:?}", e)
+ })?;
if entry.header().identifier() == "rust.metadata.bin" {
let mut buf = Vec::new();
io::copy(&mut entry, &mut buf).unwrap();
let mut cfgs = Vec::new();
for &(name, ref value) in sess.parse_sess.config.iter() {
let gated_cfg = GatedCfg::gate(&ast::MetaItem {
- name: name,
+ name,
node: ast::MetaItemKind::Word,
span: DUMMY_SP,
});