address review: replace print macros with structured logging

Signed-off-by: SAY-5 <saiasish.cnp@gmail.com>
This commit is contained in:
SAY-5
2026-05-05 22:35:46 -07:00
committed by Guillem L. Jara
parent 4a5d83e56f
commit 18d5de2ffe
3 changed files with 7 additions and 8 deletions
+2
View File
@@ -93,6 +93,8 @@ unused_qualifications = "warn"
all = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
print_stdout = "warn" # restriction: forbid print/println macros
print_stderr = "warn" # restriction: forbid eprint/eprintln macros
use_self = "warn" # nursery lint
cargo_common_metadata = "allow" # 3240
multiple_crate_versions = "allow" # 2882
+3 -7
View File
@@ -46,13 +46,9 @@ fn uu_main() -> Result<()> {
return Ok(());
}
};
// Avoid `println!`, which panics on broken pipe / ENOSPC (e.g. `>/dev/full`).
// Match the uutils convention: silently exit on BrokenPipe, report other I/O
// errors to stderr and exit with failure.
if let Err(e) = writeln!(io::stdout(), "---\n{ast}") {
if e.kind() == io::ErrorKind::BrokenPipe {
return Ok(());
}
if let Err(e) = writeln!(io::stdout(), "---\n{ast}")
&& e.kind() != io::ErrorKind::BrokenPipe
{
exit_err(Some(format!("awk: error writing to standard output: {e}")));
}
dbg!(arena.chunk_capacity());
+2 -1
View File
@@ -4,6 +4,7 @@
// files that was distributed with this source code.
use std::fmt::{Debug, Display};
use std::io::{self, Write};
use std::panic::{UnwindSafe, catch_unwind, set_hook, take_hook};
use std::process::exit;
@@ -73,7 +74,7 @@ pub fn exit_with(res: Result<Option<impl Into<ExitCode>>, impl Display + Debug>)
pub fn exit_err(err: Option<impl Display + Debug>) -> ! {
if let Some(err) = err {
eprintln!("{err}");
let _ = writeln!(io::stderr(), "{err}");
}
exit(EXIT_FAILURE)
}