File tree 3 files changed +11
-1
lines changed
compiler/rustc_codegen_ssa
3 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -190,6 +190,8 @@ codegen_ssa_no_module_named =
190
190
191
191
codegen_ssa_no_natvis_directory = error enumerating natvis directory: { $error }
192
192
193
+ codegen_ssa_no_saved_object_file = cached cgu { $cgu_name } should have an object file, but doesn't
194
+
193
195
codegen_ssa_processing_dymutil_failed = processing debug info with `dsymutil` failed: { $status }
194
196
.note = { $output }
195
197
Original file line number Diff line number Diff line change @@ -913,7 +913,9 @@ fn execute_copy_from_cache_work_item<B: ExtraBackendMethods>(
913
913
914
914
let object = load_from_incr_comp_dir (
915
915
cgcx. output_filenames . temp_path ( OutputType :: Object , Some ( & module. name ) ) ,
916
- module. source . saved_files . get ( "o" ) . expect ( "no saved object file in work product" ) ,
916
+ module. source . saved_files . get ( "o" ) . unwrap_or_else ( || {
917
+ cgcx. create_dcx ( ) . emit_fatal ( errors:: NoSavedObjectFile { cgu_name : & module. name } )
918
+ } ) ,
917
919
) ;
918
920
let dwarf_object =
919
921
module. source . saved_files . get ( "dwo" ) . as_ref ( ) . and_then ( |saved_dwarf_object_file| {
Original file line number Diff line number Diff line change @@ -121,6 +121,12 @@ pub struct NoNatvisDirectory {
121
121
pub error : Error ,
122
122
}
123
123
124
+ #[ derive( Diagnostic ) ]
125
+ #[ diag( codegen_ssa_no_saved_object_file) ]
126
+ pub struct NoSavedObjectFile < ' a > {
127
+ pub cgu_name : & ' a str ,
128
+ }
129
+
124
130
#[ derive( Diagnostic ) ]
125
131
#[ diag( codegen_ssa_copy_path_buf) ]
126
132
pub struct CopyPathBuf {
You can’t perform that action at this time.
0 commit comments