From d8cf42af169320f75b7ffe619536a63a1e3dc3c0 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Fri, 30 May 2025 11:11:36 -0700 Subject: [PATCH] Reduce unstable feature usage --- native/src/base/lib.rs | 2 -- native/src/base/logging.rs | 20 +++++++++++--------- native/src/base/result.rs | 18 +++++++++--------- native/src/core/lib.rs | 1 - native/src/init/lib.rs | 2 -- native/src/sepolicy/lib.rs | 1 - 6 files changed, 20 insertions(+), 24 deletions(-) diff --git a/native/src/base/lib.rs b/native/src/base/lib.rs index 65e5ed4b9..d5e492a87 100644 --- a/native/src/base/lib.rs +++ b/native/src/base/lib.rs @@ -1,6 +1,4 @@ #![allow(clippy::missing_safety_doc)] -#![feature(format_args_nl)] -#![feature(io_error_more)] pub use const_format; pub use libc; diff --git a/native/src/base/logging.rs b/native/src/base/logging.rs index 95a7e30cb..96c28ae29 100644 --- a/native/src/base/logging.rs +++ b/native/src/base/logging.rs @@ -1,5 +1,4 @@ use std::fmt; -use std::fmt::Arguments; use std::io::{Write, stderr, stdout}; use std::process::exit; @@ -102,10 +101,6 @@ pub fn log_with_formatter fmt::Result>(level: LogLevel, }); } -pub fn log_with_args(level: LogLevel, args: Arguments) { - log_with_formatter(level, |w| w.write_fmt(args)); -} - pub fn cmdline_logging() { fn cmdline_write(level: LogLevel, msg: &Utf8CStr) { if matches!(level, LogLevel::Info) { @@ -124,24 +119,31 @@ pub fn cmdline_logging() { } } +#[macro_export] +macro_rules! log_with_args { + ($level:expr, $($args:tt)+) => { + $crate::log_with_formatter($level, |w| writeln!(w, $($args)+)) + } +} + #[macro_export] macro_rules! error { ($($args:tt)+) => { - $crate::log_with_args($crate::LogLevel::Error, format_args_nl!($($args)+)) + $crate::log_with_formatter($crate::LogLevel::Error, |w| writeln!(w, $($args)+)) } } #[macro_export] macro_rules! warn { ($($args:tt)+) => { - $crate::log_with_args($crate::LogLevel::Warn, format_args_nl!($($args)+)) + $crate::log_with_formatter($crate::LogLevel::Warn, |w| writeln!(w, $($args)+)) } } #[macro_export] macro_rules! info { ($($args:tt)+) => { - $crate::log_with_args($crate::LogLevel::Info, format_args_nl!($($args)+)) + $crate::log_with_formatter($crate::LogLevel::Info, |w| writeln!(w, $($args)+)) } } @@ -149,7 +151,7 @@ macro_rules! info { #[macro_export] macro_rules! debug { ($($args:tt)+) => { - $crate::log_with_args($crate::LogLevel::Debug, format_args_nl!($($args)+)) + $crate::log_with_formatter($crate::LogLevel::Debug, |w| writeln!(w, $($args)+)) } } diff --git a/native/src/base/result.rs b/native/src/base/result.rs index 50fc5aaec..6971fcf9c 100644 --- a/native/src/base/result.rs +++ b/native/src/base/result.rs @@ -24,7 +24,7 @@ pub type LoggedResult = Result; #[macro_export] macro_rules! log_err { ($($args:tt)+) => {{ - $crate::log_with_args($crate::LogLevel::Error, format_args_nl!($($args)+)); + $crate::error!($($args)+); $crate::LoggedError::default() }}; } @@ -148,12 +148,9 @@ impl Loggable for Result { Ok(v) => Ok(v), Err(e) => { if let Some(caller) = caller { - log_with_args( - level, - format_args_nl!("[{}:{}] {:#}", caller.file(), caller.line(), e), - ); + log_with_args!(level, "[{}:{}] {:#}", caller.file(), caller.line(), e); } else { - log_with_args(level, format_args_nl!("{:#}", e)); + log_with_args!(level, "{:#}", e); } Err(LoggedError::default()) } @@ -186,7 +183,7 @@ impl Loggable for Result { impl From for LoggedError { #[cfg(not(debug_assertions))] fn from(e: T) -> Self { - log_with_args(LogLevel::Error, format_args_nl!("{:#}", e)); + log_with_args!(LogLevel::Error, "{:#}", e); LoggedError::default() } @@ -194,9 +191,12 @@ impl From for LoggedError { #[cfg(debug_assertions)] fn from(e: T) -> Self { let caller = Location::caller(); - log_with_args( + log_with_args!( LogLevel::Error, - format_args_nl!("[{}:{}] {:#}", caller.file(), caller.line(), e), + "[{}:{}] {:#}", + caller.file(), + caller.line(), + e ); LoggedError::default() } diff --git a/native/src/core/lib.rs b/native/src/core/lib.rs index d9e15a0de..5f9f5b7c2 100644 --- a/native/src/core/lib.rs +++ b/native/src/core/lib.rs @@ -1,4 +1,3 @@ -#![feature(format_args_nl)] #![feature(try_blocks)] #![feature(let_chains)] #![feature(fn_traits)] diff --git a/native/src/init/lib.rs b/native/src/init/lib.rs index 49946e04a..a4c49b432 100644 --- a/native/src/init/lib.rs +++ b/native/src/init/lib.rs @@ -1,5 +1,3 @@ -#![feature(format_args_nl)] -#![feature(once_cell_try)] #![feature(try_blocks)] #![allow(clippy::missing_safety_doc)] diff --git a/native/src/sepolicy/lib.rs b/native/src/sepolicy/lib.rs index 75868b41f..b81e48cdd 100644 --- a/native/src/sepolicy/lib.rs +++ b/native/src/sepolicy/lib.rs @@ -1,4 +1,3 @@ -#![feature(format_args_nl)] #![feature(try_blocks)] pub use base;