@@ -151,17 +151,17 @@ pub fn link_binary(
151151 sess. dcx ( ) . emit_artifact_notification ( & out_filename, "link" ) ;
152152 }
153153
154- if sess. prof . enabled ( ) {
155- if let Some ( artifact_name) = out_filename. file_name ( ) {
156- // Record size for self-profiling
157- let file_size = std :: fs :: metadata ( & out_filename ) . map ( |m| m . len ( ) ) . unwrap_or ( 0 ) ;
158-
159- sess . prof . artifact_size (
160- "linked_artifact" ,
161- artifact_name . to_string_lossy ( ) ,
162- file_size ,
163- ) ;
164- }
154+ if sess. prof . enabled ( )
155+ && let Some ( artifact_name) = out_filename. file_name ( )
156+ {
157+ // Record size for self-profiling
158+ let file_size = std :: fs :: metadata ( & out_filename ) . map ( |m| m . len ( ) ) . unwrap_or ( 0 ) ;
159+
160+ sess . prof . artifact_size (
161+ "linked_artifact" ,
162+ artifact_name . to_string_lossy ( ) ,
163+ file_size ,
164+ ) ;
165165 }
166166
167167 if output. is_stdout ( ) {
@@ -186,16 +186,12 @@ pub fn link_binary(
186186
187187 let maybe_remove_temps_from_module =
188188 |preserve_objects : bool , preserve_dwarf_objects : bool , module : & CompiledModule | {
189- if !preserve_objects {
190- if let Some ( ref obj) = module. object {
191- ensure_removed ( sess. dcx ( ) , obj) ;
192- }
189+ if !preserve_objects && let Some ( ref obj) = module. object {
190+ ensure_removed ( sess. dcx ( ) , obj) ;
193191 }
194192
195- if !preserve_dwarf_objects {
196- if let Some ( ref dwo_obj) = module. dwarf_object {
197- ensure_removed ( sess. dcx ( ) , dwo_obj) ;
198- }
193+ if !preserve_dwarf_objects && let Some ( ref dwo_obj) = module. dwarf_object {
194+ ensure_removed ( sess. dcx ( ) , dwo_obj) ;
199195 }
200196 } ;
201197
@@ -2116,11 +2112,11 @@ fn add_local_crate_metadata_objects(
21162112 // When linking a dynamic library, we put the metadata into a section of the
21172113 // executable. This metadata is in a separate object file from the main
21182114 // object file, so we link that in here.
2119- if crate_type == CrateType :: Dylib || crate_type == CrateType :: ProcMacro {
2120- if let Some ( obj ) = codegen_results. metadata_module . as_ref ( ) . and_then ( |m| m . object . as_ref ( ) )
2121- {
2122- cmd . add_object ( obj ) ;
2123- }
2115+ if matches ! ( crate_type, CrateType :: Dylib | CrateType :: ProcMacro )
2116+ && let Some ( m ) = & codegen_results. metadata_module
2117+ && let Some ( obj ) = & m . object
2118+ {
2119+ cmd . add_object ( obj ) ;
21242120 }
21252121}
21262122
@@ -2540,10 +2536,11 @@ fn add_order_independent_options(
25402536
25412537 cmd. output_filename ( out_filename) ;
25422538
2543- if crate_type == CrateType :: Executable && sess. target . is_like_windows {
2544- if let Some ( ref s) = codegen_results. crate_info . windows_subsystem {
2545- cmd. subsystem ( s) ;
2546- }
2539+ if crate_type == CrateType :: Executable
2540+ && sess. target . is_like_windows
2541+ && let Some ( s) = & codegen_results. crate_info . windows_subsystem
2542+ {
2543+ cmd. subsystem ( s) ;
25472544 }
25482545
25492546 // Try to strip as much out of the generated object by removing unused
0 commit comments