Use `std::fs::write` instead of `write!`.
PiperOrigin-RevId: 476908539
diff --git a/cc_bindings_from_rs/cmdline.rs b/cc_bindings_from_rs/cmdline.rs
index f93d4a0..ba5e28b 100644
--- a/cc_bindings_from_rs/cmdline.rs
+++ b/cc_bindings_from_rs/cmdline.rs
@@ -41,7 +41,6 @@
use super::*;
use itertools::Itertools;
- use std::io::Write;
use tempfile::tempdir;
fn new_cmdline(args: &[&str]) -> Result<Cmdline, Fail> {
@@ -97,11 +96,10 @@
fn test_here_file() -> anyhow::Result<()> {
let tmpdir = tempdir()?;
let tmpfile = tmpdir.path().join("herefile");
- let mut f = std::fs::File::create(tmpfile.clone())?;
- writeln!(f, "--h_out=foo.h")?;
- writeln!(f, "--")?;
- writeln!(f, "test.rs")?;
- writeln!(f, "--crate-type=lib")?;
+ std::fs::write(
+ &tmpfile,
+ &["--h_out=foo.h", "--", "test.rs", "--crate-type=lib"].join("\n"),
+ )?;
let cmdline = Cmdline::new(&[format!("@{}", tmpfile.display())])?;
assert_eq!(Path::new("foo.h"), cmdline.h_out());
diff --git a/cc_bindings_from_rs/main.rs b/cc_bindings_from_rs/main.rs
index 97680a2..98a4db9 100644
--- a/cc_bindings_from_rs/main.rs
+++ b/cc_bindings_from_rs/main.rs
@@ -30,9 +30,6 @@
use anyhow::Context;
use rustc_middle::ty::TyCtxt;
- use std::fmt::Display;
- use std::fs::File;
- use std::io::Write;
use std::path::Path;
use crate::cmdline::Cmdline;
@@ -41,12 +38,11 @@
pub fn main(cmdline: &Cmdline, tcx: TyCtxt) -> anyhow::Result<()> {
let bindings = GeneratedBindings::generate(tcx);
- write_file(cmdline.h_out(), tokens_to_string(bindings.h_body)?)
+ write_file(cmdline.h_out(), &tokens_to_string(bindings.h_body)?)
}
- fn write_file(path: &Path, content: impl Display) -> anyhow::Result<()> {
- File::create(path)
- .and_then(|mut f| write!(f, "{}", content))
+ fn write_file(path: &Path, content: &str) -> anyhow::Result<()> {
+ std::fs::write(path, content)
.with_context(|| format!("Error when writing to {}", path.display()))
}
}