..rustc_expand::expand::ExpansionConfig::default(crate_name.to_string())
};
- let extern_mod_loaded = |k: &ast::Crate, ident: Ident| {
- pre_expansion_lint(sess, lint_store, k, &*ident.name.as_str())
+ let extern_mod_loaded = |ident: Ident, attrs, items, span| {
+ let krate = ast::Crate { attrs, items, span, proc_macros: vec![] };
+ pre_expansion_lint(sess, lint_store, &krate, &ident.name.as_str());
+ (krate.attrs, krate.items)
};
let mut ecx = ExtCtxt::new(&sess, cfg, &mut resolver, Some(&extern_mod_loaded));
.unwrap_or_else(|err| tcx.sess.fatal(&format!("couldn't create a temp dir: {}", err)));
let metadata_tmpdir = MaybeTempDir::new(metadata_tmpdir, tcx.sess.opts.cg.save_temps);
let metadata_filename = emit_metadata(tcx.sess, &metadata, &metadata_tmpdir);
- if let Err(e) = fs::rename(&metadata_filename, &out_filename) {
+ if let Err(e) = util::non_durable_rename(&metadata_filename, &out_filename) {
tcx.sess.fatal(&format!("failed to write {}: {}", out_filename.display(), e));
}
if tcx.sess.opts.json_artifact_notifications {