let mut buf = Vec::new();
io::copy(&mut file, &mut buf).unwrap();
- let buf: OwningRef<Vec<u8>, [u8]> = OwningRef::new(buf).into();
- return Ok(rustc_erase_owner!(buf.map_owner_box()));
+ let buf: OwningRef<Vec<u8>, [u8]> = OwningRef::new(buf);
+ Ok(rustc_erase_owner!(buf.map_owner_box()))
}
fn get_dylib_metadata(&self, target: &Target, filename: &Path) -> Result<MetadataRef, String> {
}
impl MetadataOnlyCodegenBackend {
- pub fn new() -> Box<dyn CodegenBackend> {
+ pub fn boxed() -> Box<dyn CodegenBackend> {
box MetadataOnlyCodegenBackend(())
}
}
tcx,
collector::MonoItemCollectionMode::Eager
).0 {
- match mono_item {
- MonoItem::Fn(inst) => {
- let def_id = inst.def_id();
- if def_id.is_local() {
- let _ = inst.def.is_inline(tcx);
- let _ = tcx.codegen_fn_attrs(def_id);
- }
+ if let MonoItem::Fn(inst) = mono_item {
+ let def_id = inst.def_id();
+ if def_id.is_local() {
+ let _ = inst.def.is_inline(tcx);
+ let _ = tcx.codegen_fn_attrs(def_id);
}
- _ => {}
}
}
tcx.sess.abort_if_errors();
let metadata = tcx.encode_metadata();
box OngoingCodegen {
- metadata: metadata,
+ metadata,
metadata_version: tcx.metadata_encoding_version().to_vec(),
crate_name: tcx.crate_name(LOCAL_CRATE),
}
.unwrap_or(&sess.target.target.options.codegen_backend);
let backend = match &codegen_name[..] {
"metadata_only" => {
- rustc_codegen_utils::codegen_backend::MetadataOnlyCodegenBackend::new
+ rustc_codegen_utils::codegen_backend::MetadataOnlyCodegenBackend::boxed
}
filename if filename.contains(".") => {
load_backend_from_dylib(filename.as_ref())
// let's just return a dummy creation function which won't be used in
// general anyway.
if cfg!(test) {
- return rustc_codegen_utils::codegen_backend::MetadataOnlyCodegenBackend::new
+ return rustc_codegen_utils::codegen_backend::MetadataOnlyCodegenBackend::boxed
}
let target = session::config::host_triple();