-
Notifications
You must be signed in to change notification settings - Fork 275
Open
Description
According to the following code:
Line 81 in 6e17355
logger.log(&builder.build()); |
Lines 103 to 105 in 6e17355
pub fn enabled<L: Log>(logger: L, level: Level, target: &str) -> bool { | |
logger.enabled(&Metadata::builder().level(level).target(target).build()) | |
} |
Given that Record<'a>
and Metadata<'a>
already conatins all refs in their fields, and we have an owned value at the caller side, I'd like to know why we pass a ref &Record
and &Metadata
instead of Record<'a>
and Metadata<'a>
, to the log
and enabled
method.
I mean, is it possible to change (despite it's a breaking change, just think of it technically):
pub trait Log: Sync + Send {
fn enabled(&self, metadata: &Metadata) -> bool;
fn log(&self, record: &Record);
fn flush(&self);
}
into
pub trait Log: Sync + Send {
fn enabled(&self, metadata: Metadata<'_>) -> bool;
fn log(&self, record: Record<'_>);
fn flush(&self);
}
Any downside?
Metadata
Metadata
Assignees
Labels
No labels