Skip to content

Commit 2b33c97

Browse files
jplatteSven
andcommitted
Fix rustc & clippy lints
Co-authored-by: Sven <[email protected]>
1 parent b8c3754 commit 2b33c97

File tree

4 files changed

+50
-81
lines changed

4 files changed

+50
-81
lines changed

src/filter/mod.rs

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
//!
5353
//! fn flush(&self) {}
5454
//! }
55-
//! # fn main() {}
5655
//! ```
5756
//!
5857
//! [Enabling Logging]: ../index.html#enabling-logging
@@ -92,24 +91,18 @@ pub struct Filter {
9291
/// ## Example
9392
///
9493
/// ```
95-
/// #[macro_use]
96-
/// extern crate log;
97-
/// extern crate env_logger;
98-
///
99-
/// use std::env;
100-
/// use std::io;
94+
/// # #[macro_use] extern crate log;
95+
/// # use std::env;
10196
/// use env_logger::filter::Builder;
10297
///
103-
/// fn main() {
104-
/// let mut builder = Builder::new();
105-
///
106-
/// // Parse a logging filter from an environment variable.
107-
/// if let Ok(rust_log) = env::var("RUST_LOG") {
108-
/// builder.parse(&rust_log);
109-
/// }
98+
/// let mut builder = Builder::new();
11099
///
111-
/// let filter = builder.build();
100+
/// // Parse a logging filter from an environment variable.
101+
/// if let Ok(rust_log) = env::var("RUST_LOG") {
102+
/// builder.parse(&rust_log);
112103
/// }
104+
///
105+
/// let filter = builder.build();
113106
/// ```
114107
///
115108
/// [`Filter`]: struct.Filter.html
@@ -132,20 +125,15 @@ impl Filter {
132125
/// # Example
133126
///
134127
/// ```rust
135-
/// extern crate log;
136-
/// extern crate env_logger;
137-
///
138128
/// use log::LevelFilter;
139129
/// use env_logger::filter::Builder;
140130
///
141-
/// fn main() {
142-
/// let mut builder = Builder::new();
143-
/// builder.filter(Some("module1"), LevelFilter::Info);
144-
/// builder.filter(Some("module2"), LevelFilter::Error);
131+
/// let mut builder = Builder::new();
132+
/// builder.filter(Some("module1"), LevelFilter::Info);
133+
/// builder.filter(Some("module2"), LevelFilter::Error);
145134
///
146-
/// let filter = builder.build();
147-
/// assert_eq!(filter.filter(), LevelFilter::Info);
148-
/// }
135+
/// let filter = builder.build();
136+
/// assert_eq!(filter.filter(), LevelFilter::Info);
149137
/// ```
150138
pub fn filter(&self) -> LevelFilter {
151139
self.directives
@@ -310,7 +298,7 @@ fn parse_spec(spec: &str) -> (Vec<Directive>, Option<inner::Filter>) {
310298
);
311299
return (dirs, None);
312300
}
313-
mods.map(|m| {
301+
if let Some(m) = mods {
314302
for s in m.split(',') {
315303
if s.is_empty() {
316304
continue;
@@ -352,7 +340,7 @@ fn parse_spec(spec: &str) -> (Vec<Directive>, Option<inner::Filter>) {
352340
level: log_level,
353341
});
354342
}
355-
});
343+
}
356344

357345
let filter = filter.and_then(|filter| match inner::Filter::new(filter) {
358346
Ok(re) => Some(re),

src/fmt/mod.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,14 @@ impl fmt::Debug for Formatter {
136136
}
137137
}
138138

139+
pub(crate) type FormatFn = Box<dyn Fn(&mut Formatter, &Record) -> io::Result<()> + Sync + Send>;
140+
139141
pub(crate) struct Builder {
140142
pub format_timestamp: Option<TimestampPrecision>,
141143
pub format_module_path: bool,
142144
pub format_level: bool,
143145
pub format_indent: Option<usize>,
144-
#[allow(unknown_lints, bare_trait_objects)]
145-
pub custom_format: Option<Box<Fn(&mut Formatter, &Record) -> io::Result<()> + Sync + Send>>,
146+
pub custom_format: Option<FormatFn>,
146147
built: bool,
147148
}
148149

@@ -165,8 +166,7 @@ impl Builder {
165166
/// If the `custom_format` is `Some`, then any `default_format` switches are ignored.
166167
/// If the `custom_format` is `None`, then a default format is returned.
167168
/// Any `default_format` switches set to `false` won't be written by the format.
168-
#[allow(unknown_lints, bare_trait_objects)]
169-
pub fn build(&mut self) -> Box<Fn(&mut Formatter, &Record) -> io::Result<()> + Sync + Send> {
169+
pub fn build(&mut self) -> FormatFn {
170170
assert!(!self.built, "attempt to re-use consumed builder");
171171

172172
let built = mem::replace(
@@ -230,6 +230,7 @@ impl<'a> DefaultFormat<'a> {
230230
.style()
231231
.set_color(Color::Black)
232232
.set_intense(true)
233+
.clone()
233234
.into_value(text)
234235
}
235236
#[cfg(not(feature = "termcolor"))]

src/fmt/writer/termcolor/extern_impl.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -370,9 +370,9 @@ impl Style {
370370
}
371371

372372
/// Wrap a value in the style by taking ownership of it.
373-
pub(crate) fn into_value<T>(&mut self, value: T) -> StyledValue<'static, T> {
373+
pub(crate) fn into_value<T>(self, value: T) -> StyledValue<'static, T> {
374374
StyledValue {
375-
style: Cow::Owned(self.clone()),
375+
style: Cow::Owned(self),
376376
value,
377377
}
378378
}
@@ -451,6 +451,7 @@ impl_styled_value_fmt!(
451451
///
452452
/// Hexadecimal numbers are written with a `0x` prefix.
453453
#[allow(missing_docs)]
454+
#[non_exhaustive]
454455
#[derive(Clone, Debug, Eq, PartialEq)]
455456
pub enum Color {
456457
Black,
@@ -463,8 +464,6 @@ pub enum Color {
463464
White,
464465
Ansi256(u8),
465466
Rgb(u8, u8, u8),
466-
#[doc(hidden)]
467-
__Nonexhaustive,
468467
}
469468

470469
impl Color {
@@ -480,7 +479,6 @@ impl Color {
480479
Color::White => Some(termcolor::Color::White),
481480
Color::Ansi256(value) => Some(termcolor::Color::Ansi256(value)),
482481
Color::Rgb(r, g, b) => Some(termcolor::Color::Rgb(r, g, b)),
483-
_ => None,
484482
}
485483
}
486484
}

src/lib.rs

Lines changed: 27 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,16 @@
1515
//! ## Example
1616
//!
1717
//! ```
18-
//! #[macro_use] extern crate log;
18+
//! use log::{debug, error, log_enabled, info, Level};
1919
//!
20-
//! use log::Level;
20+
//! env_logger::init();
2121
//!
22-
//! fn main() {
23-
//! env_logger::init();
22+
//! debug!("this is a debug {}", "message");
23+
//! error!("this is printed by default");
2424
//!
25-
//! debug!("this is a debug {}", "message");
26-
//! error!("this is printed by default");
27-
//!
28-
//! if log_enabled!(Level::Info) {
29-
//! let x = 3 * 4; // expensive computation
30-
//! info!("the answer was: {}", x);
31-
//! }
25+
//! if log_enabled!(Level::Info) {
26+
//! let x = 3 * 4; // expensive computation
27+
//! info!("the answer was: {}", x);
3228
//! }
3329
//! ```
3430
//!
@@ -146,7 +142,6 @@
146142
//!
147143
//! ```
148144
//! # #[macro_use] extern crate log;
149-
//! # fn main() {}
150145
//! #[cfg(test)]
151146
//! mod tests {
152147
//! fn init() {
@@ -245,7 +240,6 @@
245240
#![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
246241
#![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]
247242
#![deny(missing_debug_implementations, missing_docs, warnings)]
248-
#![allow(clippy::needless_doctest_main)]
249243

250244
use std::{borrow::Cow, cell::RefCell, env, io};
251245

@@ -258,7 +252,7 @@ pub use self::fmt::glob::*;
258252

259253
use self::filter::Filter;
260254
use self::fmt::writer::{self, Writer};
261-
use self::fmt::Formatter;
255+
use self::fmt::{FormatFn, Formatter};
262256

263257
/// The default name for the environment variable to read filters from.
264258
pub const DEFAULT_FILTER_ENV: &str = "RUST_LOG";
@@ -310,8 +304,7 @@ struct Var<'a> {
310304
pub struct Logger {
311305
writer: Writer,
312306
filter: Filter,
313-
#[allow(unknown_lints, bare_trait_objects)]
314-
format: Box<Fn(&mut Formatter, &Record) -> io::Result<()> + Sync + Send>,
307+
format: FormatFn,
315308
}
316309

317310
/// `Builder` acts as builder for initializing a `Logger`.
@@ -322,23 +315,20 @@ pub struct Logger {
322315
/// # Examples
323316
///
324317
/// ```
325-
/// #[macro_use] extern crate log;
326-
///
327-
/// use std::env;
328-
/// use std::io::Write;
329-
/// use log::LevelFilter;
318+
/// # #[macro_use] extern crate log;
319+
/// # use std::io::Write;
330320
/// use env_logger::Builder;
321+
/// use log::LevelFilter;
331322
///
332-
/// fn main() {
333-
/// let mut builder = Builder::from_default_env();
323+
/// let mut builder = Builder::from_default_env();
334324
///
335-
/// builder.format(|buf, record| writeln!(buf, "{} - {}", record.level(), record.args()))
336-
/// .filter(None, LevelFilter::Info)
337-
/// .init();
325+
/// builder
326+
/// .format(|buf, record| writeln!(buf, "{} - {}", record.level(), record.args()))
327+
/// .filter(None, LevelFilter::Info)
328+
/// .init();
338329
///
339-
/// error!("error message");
340-
/// info!("info message");
341-
/// }
330+
/// error!("error message");
331+
/// info!("info message");
342332
/// ```
343333
#[derive(Default)]
344334
pub struct Builder {
@@ -360,16 +350,15 @@ impl Builder {
360350
/// Create a new builder and configure filters and style:
361351
///
362352
/// ```
363-
/// # fn main() {
364353
/// use log::LevelFilter;
365354
/// use env_logger::{Builder, WriteStyle};
366355
///
367356
/// let mut builder = Builder::new();
368357
///
369-
/// builder.filter(None, LevelFilter::Info)
370-
/// .write_style(WriteStyle::Always)
371-
/// .init();
372-
/// # }
358+
/// builder
359+
/// .filter(None, LevelFilter::Info)
360+
/// .write_style(WriteStyle::Always)
361+
/// .init();
373362
/// ```
374363
///
375364
/// [`filter`]: #method.filter
@@ -612,14 +601,12 @@ impl Builder {
612601
/// Only include messages for info and above for logs in `path::to::module`:
613602
///
614603
/// ```
615-
/// # fn main() {
616-
/// use log::LevelFilter;
617604
/// use env_logger::Builder;
605+
/// use log::LevelFilter;
618606
///
619607
/// let mut builder = Builder::new();
620608
///
621609
/// builder.filter_module("path::to::module", LevelFilter::Info);
622-
/// # }
623610
/// ```
624611
pub fn filter_module(&mut self, module: &str, level: LevelFilter) -> &mut Self {
625612
self.filter.filter_module(module, level);
@@ -633,14 +620,12 @@ impl Builder {
633620
/// Only include messages for info and above for logs in `path::to::module`:
634621
///
635622
/// ```
636-
/// # fn main() {
637-
/// use log::LevelFilter;
638623
/// use env_logger::Builder;
624+
/// use log::LevelFilter;
639625
///
640626
/// let mut builder = Builder::new();
641627
///
642628
/// builder.filter_level(LevelFilter::Info);
643-
/// # }
644629
/// ```
645630
pub fn filter_level(&mut self, level: LevelFilter) -> &mut Self {
646631
self.filter.filter_level(level);
@@ -657,14 +642,12 @@ impl Builder {
657642
/// Only include messages for info and above for logs in `path::to::module`:
658643
///
659644
/// ```
660-
/// # fn main() {
661-
/// use log::LevelFilter;
662645
/// use env_logger::Builder;
646+
/// use log::LevelFilter;
663647
///
664648
/// let mut builder = Builder::new();
665649
///
666650
/// builder.filter(Some("path::to::module"), LevelFilter::Info);
667-
/// # }
668651
/// ```
669652
pub fn filter(&mut self, module: Option<&str>, level: LevelFilter) -> &mut Self {
670653
self.filter.filter(module, level);
@@ -1125,7 +1108,6 @@ pub fn init() {
11251108
/// and `MY_LOG_STYLE` for writing colors:
11261109
///
11271110
/// ```
1128-
/// # extern crate env_logger;
11291111
/// use env_logger::{Builder, Env};
11301112
///
11311113
/// # fn run() -> Result<(), Box<::std::error::Error>> {
@@ -1135,7 +1117,7 @@ pub fn init() {
11351117
///
11361118
/// Ok(())
11371119
/// # }
1138-
/// # fn main() { run().unwrap(); }
1120+
/// # run().unwrap();
11391121
/// ```
11401122
///
11411123
/// # Errors

0 commit comments

Comments
 (0)