writeln!(f, "_{}", sym)?;
}
};
- if let Err(e) = res {
- self.sess.emit_fatal(LibDefWriteFailure { error_description: format!("{e}") });
+ if let Err(error) = res {
+ self.sess.emit_fatal(LibDefWriteFailure { error });
}
} else if is_windows {
let res: io::Result<()> = try {
writeln!(f, " {}", symbol)?;
}
};
- if let Err(e) = res {
- self.sess.emit_fatal(LibDefWriteFailure { error_description: format!("{e}") });
+ if let Err(error) = res {
+ self.sess.emit_fatal(LibDefWriteFailure { error });
}
} else {
// Write an LD version script
writeln!(f, " {}", symbol)?;
}
};
- if let Err(e) = res {
- self.sess.emit_fatal(LibDefWriteFailure { error_description: format!("{e}") });
+ if let Err(error) = res {
+ self.sess.emit_fatal(LibDefWriteFailure { error });
}
let mut arg = OsString::from("/DEF:");
arg.push(path);
//! Errors emitted by codegen_ssa
use rustc_macros::SessionDiagnostic;
+use std::io::Error;
#[derive(SessionDiagnostic)]
#[diag(codegen_ssa::missing_native_static_library)]
#[derive(SessionDiagnostic)]
#[diag(codegen_ssa::lib_def_write_failure)]
pub struct LibDefWriteFailure {
- pub error_description: String,
+ pub error: Error,
}
codegen_ssa_missing_native_static_library = could not find native static library `{$library_name}`, perhaps an -L flag is missing?
-codegen_ssa_lib_def_write_failure = failed to write lib.def file: {$error_description}
+codegen_ssa_lib_def_write_failure = failed to write lib.def file: {$error}