@@ -31,7 +31,7 @@ use serde::{Serialize, Serializer};
31
31
use std:: collections:: { BTreeSet , BinaryHeap } ;
32
32
use std:: fmt;
33
33
use std:: fmt:: Write as _;
34
- use std:: fs:: { self , OpenOptions } ;
34
+ use std:: fs:: { self , File } ;
35
35
use std:: io:: prelude:: * ;
36
36
use std:: path:: { Path , PathBuf } ;
37
37
use std:: process:: Command ;
@@ -229,25 +229,10 @@ impl Drop for MetadataCollector {
229
229
collect_renames ( & mut lints) ;
230
230
231
231
// Outputting json
232
- if Path :: new ( JSON_OUTPUT_FILE ) . exists ( ) {
233
- fs:: remove_file ( JSON_OUTPUT_FILE ) . unwrap ( ) ;
234
- }
235
- let mut file = OpenOptions :: new ( )
236
- . write ( true )
237
- . create ( true )
238
- . open ( JSON_OUTPUT_FILE )
239
- . unwrap ( ) ;
240
- writeln ! ( file, "{}" , serde_json:: to_string_pretty( & lints) . unwrap( ) ) . unwrap ( ) ;
232
+ fs:: write ( JSON_OUTPUT_FILE , serde_json:: to_string_pretty ( & lints) . unwrap ( ) ) . unwrap ( ) ;
241
233
242
234
// Outputting markdown
243
- if Path :: new ( MARKDOWN_OUTPUT_FILE ) . exists ( ) {
244
- fs:: remove_file ( MARKDOWN_OUTPUT_FILE ) . unwrap ( ) ;
245
- }
246
- let mut file = OpenOptions :: new ( )
247
- . write ( true )
248
- . create ( true )
249
- . open ( MARKDOWN_OUTPUT_FILE )
250
- . unwrap ( ) ;
235
+ let mut file = File :: create ( MARKDOWN_OUTPUT_FILE ) . unwrap ( ) ;
251
236
writeln ! (
252
237
file,
253
238
"<!--
@@ -261,17 +246,15 @@ Please use that command to update the file and do not edit it by hand.
261
246
. unwrap ( ) ;
262
247
263
248
// Write configuration links to CHANGELOG.md
264
- let mut changelog = std:: fs:: read_to_string ( CHANGELOG_PATH ) . unwrap ( ) ;
265
- let mut changelog_file = OpenOptions :: new ( ) . read ( true ) . write ( true ) . open ( CHANGELOG_PATH ) . unwrap ( ) ;
266
-
267
- if let Some ( position) = changelog. find ( "<!-- begin autogenerated links to configuration documentation -->" ) {
268
- // I know this is kinda wasteful, we just don't have regex on `clippy_lints` so... this is the best
269
- // we can do AFAIK.
270
- changelog = changelog[ ..position] . to_string ( ) ;
271
- }
249
+ let changelog = std:: fs:: read_to_string ( CHANGELOG_PATH ) . unwrap ( ) ;
250
+ let mut changelog_file = File :: create ( CHANGELOG_PATH ) . unwrap ( ) ;
251
+ let position = changelog
252
+ . find ( "<!-- begin autogenerated links to configuration documentation -->" )
253
+ . unwrap ( ) ;
272
254
writeln ! (
273
255
changelog_file,
274
- "{changelog}<!-- begin autogenerated links to configuration documentation -->\n {}\n <!-- end autogenerated links to configuration documentation -->" ,
256
+ "{}<!-- begin autogenerated links to configuration documentation -->\n {}\n <!-- end autogenerated links to configuration documentation -->" ,
257
+ & changelog[ ..position] ,
275
258
self . configs_to_markdown( ClippyConfiguration :: to_markdown_link)
276
259
)
277
260
. unwrap ( ) ;
0 commit comments