diff --git a/maint/fixup-features/src/main.rs b/maint/fixup-features/src/main.rs index 1947148c7..127ab4aeb 100644 --- a/maint/fixup-features/src/main.rs +++ b/maint/fixup-features/src/main.rs @@ -269,7 +269,9 @@ impl Crate { let new_text = self.toml_doc.to_string(); if new_text != old_text { println!("{} changed. Replacing.", self.name); - std::fs::write(&self.toml_file, new_text.as_str())?; + let tmpname = self.toml_file.with_extension("toml.tmp"); + std::fs::write(&tmpname, new_text.as_str())?; + std::fs::rename(&tmpname, &self.toml_file)?; } Ok(()) }