@@ -151,17 +151,17 @@ pub fn link_binary(
151
151
sess. dcx ( ) . emit_artifact_notification ( & out_filename, "link" ) ;
152
152
}
153
153
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
+ ) ;
165
165
}
166
166
167
167
if output. is_stdout ( ) {
@@ -186,16 +186,12 @@ pub fn link_binary(
186
186
187
187
let maybe_remove_temps_from_module =
188
188
|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) ;
193
191
}
194
192
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) ;
199
195
}
200
196
} ;
201
197
@@ -2116,11 +2112,11 @@ fn add_local_crate_metadata_objects(
2116
2112
// When linking a dynamic library, we put the metadata into a section of the
2117
2113
// executable. This metadata is in a separate object file from the main
2118
2114
// 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 ) ;
2124
2120
}
2125
2121
}
2126
2122
@@ -2540,10 +2536,11 @@ fn add_order_independent_options(
2540
2536
2541
2537
cmd. output_filename ( out_filename) ;
2542
2538
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) ;
2547
2544
}
2548
2545
2549
2546
// Try to strip as much out of the generated object by removing unused
0 commit comments