Skip to content

Commit cff2234

Browse files
committed
Fixed Build Errors
1 parent f5a5b1d commit cff2234

File tree

3 files changed

+47
-38
lines changed

3 files changed

+47
-38
lines changed

src/error.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,22 @@ pub enum AppError {
103103
impl std::fmt::Display for AppError {
104104
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
105105
match self {
106-
Self::Config { message, .. } => write!(f, "⚙️ Configuration Error: {}", message),
106+
Self::Config { message, .. } => write!(f, "⚙️ Configuration Error: {message}"),
107107
Self::Filesystem { path, source, .. } => {
108108
if let Some(p) = path {
109-
write!(f, "💾 Filesystem Error at {:?}: {}", p, source)
109+
write!(f, "💾 Filesystem Error at {p:?}: {source}")
110110
} else {
111-
write!(f, "💾 Filesystem Error: {}", source)
111+
write!(f, "💾 Filesystem Error: {source}")
112112
}
113113
},
114114
Self::Network { endpoint, source, .. } => {
115115
if let Some(src) = source {
116-
write!(f, "🌐 Network Error on {}: {}", endpoint, src)
116+
write!(f, "🌐 Network Error on {endpoint}: {src}")
117117
} else {
118-
write!(f, "🌐 Network Error on {}", endpoint)
118+
write!(f, "🌐 Network Error on {endpoint}")
119119
}
120120
},
121-
Self::Other { message, .. } => write!(f, "🚨 Error: {}", message),
121+
Self::Other { message, .. } => write!(f, "🚨 Error: {message}"),
122122
}
123123
}
124124
}
@@ -211,7 +211,7 @@ impl AppError {
211211
// Convert the source parameter
212212
let source = match source.into() {
213213
Some(err) => err,
214-
None => io::Error::new(io::ErrorKind::Other, "File operation failed"),
214+
None => io::Error::other("File operation failed"),
215215
};
216216

217217
let instance = Self::Filesystem {

src/logging.rs

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -63,26 +63,28 @@ pub mod log_impl {
6363

6464
impl ErrorLogger for LogAdapter {
6565
fn log_error(&self, error: &dyn ForgeError, level: ErrorLevel) {
66+
let kind = error.kind();
67+
let message = error.dev_message();
6668
match level {
67-
ErrorLevel::Critical => error!(target: "error-forge", "[CRITICAL] [{}] {}", error.kind(), error.dev_message()),
68-
ErrorLevel::Error => error!(target: "error-forge", "[ERROR] [{}] {}", error.kind(), error.dev_message()),
69-
ErrorLevel::Warning => warn!(target: "error-forge", "[WARNING] [{}] {}", error.kind(), error.dev_message()),
70-
ErrorLevel::Info => info!(target: "error-forge", "[INFO] [{}] {}", error.kind(), error.dev_message()),
71-
ErrorLevel::Debug => debug!(target: "error-forge", "[DEBUG] [{}] {}", error.kind(), error.dev_message()),
69+
ErrorLevel::Critical => error!(target: "error-forge", "[CRITICAL] [{kind}] {message}"),
70+
ErrorLevel::Error => error!(target: "error-forge", "[ERROR] [{kind}] {message}"),
71+
ErrorLevel::Warning => warn!(target: "error-forge", "[WARNING] [{kind}] {message}"),
72+
ErrorLevel::Info => info!(target: "error-forge", "[INFO] [{kind}] {message}"),
73+
ErrorLevel::Debug => debug!(target: "error-forge", "[DEBUG] [{kind}] {message}"),
7274
}
7375
}
7476

7577
fn log_message(&self, message: &str, level: ErrorLevel) {
7678
match level {
77-
ErrorLevel::Critical | ErrorLevel::Error => error!(target: "error-forge", "{}", message),
78-
ErrorLevel::Warning => warn!(target: "error-forge", "{}", message),
79-
ErrorLevel::Info => info!(target: "error-forge", "{}", message),
80-
ErrorLevel::Debug => debug!(target: "error-forge", "{}", message),
79+
ErrorLevel::Critical | ErrorLevel::Error => error!(target: "error-forge", "{message}"),
80+
ErrorLevel::Warning => warn!(target: "error-forge", "{message}"),
81+
ErrorLevel::Info => info!(target: "error-forge", "{message}"),
82+
ErrorLevel::Debug => debug!(target: "error-forge", "{message}"),
8183
}
8284
}
8385

8486
fn log_panic(&self, info: &std::panic::PanicHookInfo) {
85-
error!(target: "error-forge", "PANIC: {}", info);
87+
error!(target: "error-forge", "PANIC: {info}");
8688
}
8789
}
8890

@@ -113,10 +115,10 @@ pub mod tracing_impl {
113115

114116
fn log_message(&self, message: &str, level: ErrorLevel) {
115117
match level {
116-
ErrorLevel::Critical | ErrorLevel::Error => error!(target: "error-forge", "{}", message),
117-
ErrorLevel::Warning => warn!(target: "error-forge", "{}", message),
118-
ErrorLevel::Info => info!(target: "error-forge", "{}", message),
119-
ErrorLevel::Debug => debug!(target: "error-forge", "{}", message),
118+
ErrorLevel::Critical | ErrorLevel::Error => error!(target: "error-forge", "{message}"),
119+
ErrorLevel::Warning => warn!(target: "error-forge", "{message}"),
120+
ErrorLevel::Info => info!(target: "error-forge", "{message}"),
121+
ErrorLevel::Debug => debug!(target: "error-forge", "{message}"),
120122
}
121123
}
122124

@@ -135,21 +137,26 @@ pub mod tracing_impl {
135137
pub mod custom {
136138
use super::*;
137139

140+
// Type aliases for complex types
141+
/// Function type for error logging
142+
type ErrorFn = Box<dyn Fn(&dyn ForgeError, ErrorLevel) + Send + Sync + 'static>;
143+
/// Function type for message logging
144+
type MessageFn = Box<dyn Fn(&str, ErrorLevel) + Send + Sync + 'static>;
145+
/// Function type for panic logging
146+
type PanicFn = Box<dyn Fn(&std::panic::PanicHookInfo) + Send + Sync + 'static>;
147+
138148
/// Builder for creating a custom error logger
149+
#[derive(Default)]
139150
pub struct ErrorLoggerBuilder {
140-
error_fn: Option<Box<dyn Fn(&dyn ForgeError, ErrorLevel) + Send + Sync + 'static>>,
141-
message_fn: Option<Box<dyn Fn(&str, ErrorLevel) + Send + Sync + 'static>>,
142-
panic_fn: Option<Box<dyn Fn(&std::panic::PanicHookInfo) + Send + Sync + 'static>>,
151+
error_fn: Option<ErrorFn>,
152+
message_fn: Option<MessageFn>,
153+
panic_fn: Option<PanicFn>,
143154
}
144-
155+
145156
impl ErrorLoggerBuilder {
146157
/// Create a new error logger builder
147158
pub fn new() -> Self {
148-
Self {
149-
error_fn: None,
150-
message_fn: None,
151-
panic_fn: None,
152-
}
159+
Self::default()
153160
}
154161

155162
/// Set the function to use for logging errors
@@ -191,9 +198,9 @@ pub mod custom {
191198

192199
/// A custom error logger that uses user-provided functions
193200
pub struct CustomErrorLogger {
194-
error_fn: Option<Box<dyn Fn(&dyn ForgeError, ErrorLevel) + Send + Sync + 'static>>,
195-
message_fn: Option<Box<dyn Fn(&str, ErrorLevel) + Send + Sync + 'static>>,
196-
panic_fn: Option<Box<dyn Fn(&std::panic::PanicHookInfo) + Send + Sync + 'static>>,
201+
error_fn: Option<ErrorFn>,
202+
message_fn: Option<MessageFn>,
203+
panic_fn: Option<PanicFn>,
197204
}
198205

199206
impl ErrorLogger for CustomErrorLogger {
@@ -233,17 +240,19 @@ mod tests {
233240

234241
impl ErrorLogger for TestLogger {
235242
fn log_error(&self, error: &dyn ForgeError, level: ErrorLevel) {
236-
let log = format!("{:?}: [{}] {}", level, error.kind(), error.dev_message());
243+
let kind = error.kind();
244+
let message = error.dev_message();
245+
let log = format!("{level:?}: [{kind}] {message}");
237246
self.logs.lock().unwrap().push(log);
238247
}
239248

240249
fn log_message(&self, message: &str, level: ErrorLevel) {
241-
let log = format!("{:?}: {}", level, message);
250+
let log = format!("{level:?}: {message}");
242251
self.logs.lock().unwrap().push(log);
243252
}
244253

245254
fn log_panic(&self, info: &std::panic::PanicHookInfo) {
246-
let log = format!("PANIC: {}", info);
255+
let log = format!("PANIC: {info}");
247256
self.logs.lock().unwrap().push(log);
248257
}
249258
}

src/registry.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ impl ErrorRegistry {
4040
};
4141

4242
if codes.contains_key(&code) {
43-
return Err(format!("Error code '{}' is already registered", code));
43+
return Err(format!("Error code '{code}' is already registered"));
4444
}
4545

4646
codes.insert(code.clone(), ErrorCodeInfo {
@@ -96,7 +96,7 @@ impl<E> CodedError<E> {
9696
if !ErrorRegistry::global().is_registered(&code) {
9797
let _ = register_error_code(
9898
code.clone(),
99-
format!("Error code {}", code),
99+
format!("Error code {code}"),
100100
None as Option<String>,
101101
false
102102
);

0 commit comments

Comments
 (0)