From 0813f352058fc7966ceb957a7a6b1e3fdc06bc3d Mon Sep 17 00:00:00 2001 From: KodrAus Date: Mon, 15 Nov 2021 10:55:38 +1000 Subject: [PATCH 1/2] fix up level iterators --- src/lib.rs | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index f924e3255..65c498534 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -561,11 +561,22 @@ impl Level { LOG_LEVEL_NAMES[*self as usize] } - /// Iterate through all supported logging levels + /// Iterate through all supported logging levels. /// - /// The order of iteration is from more severe to less severe log messages + /// The order of iteration is from more severe to less severe log messages. + /// + /// # Examples + /// + /// ``` + /// use log::Level; + /// + /// let mut levels = Level::iter(); + /// + /// assert_eq!(Some(Level::Error), levels.next()); + /// assert_eq!(Some(Level::Trace), levels.last()); + /// ``` pub fn iter() -> impl Iterator { - (1..).flat_map(Self::from_usize) + (1..6).flat_map(Self::from_usize) } } @@ -709,6 +720,7 @@ impl LevelFilter { _ => None, } } + /// Returns the most verbose logging level filter. #[inline] pub fn max() -> LevelFilter { @@ -730,11 +742,22 @@ impl LevelFilter { LOG_LEVEL_NAMES[*self as usize] } - /// Iterate through all supported filtering levels + /// Iterate through all supported filtering levels. /// - /// The order of iteration is from less to more verbose filtering + /// The order of iteration is from less to more verbose filtering. + /// + /// # Examples + /// + /// ``` + /// use log::LevelFilter; + /// + /// let mut levels = LevelFilter::iter(); + /// + /// assert_eq!(Some(LevelFilter::Off), levels.next()); + /// assert_eq!(Some(LevelFilter::Trace), levels.last()); + /// ``` pub fn iter() -> impl Iterator { - (0..).flat_map(Self::from_usize) + (0..6).flat_map(Self::from_usize) } } @@ -929,7 +952,6 @@ impl<'a> Record<'a> { /// /// # Examples /// -/// /// ```edition2018 /// use log::{Level, Record}; /// From d394b0c3c3c88d6294577de6c0f234c7348176b8 Mon Sep 17 00:00:00 2001 From: KodrAus Date: Mon, 15 Nov 2021 11:00:04 +1000 Subject: [PATCH 2/2] just unwrap since they're always valid --- src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 65c498534..bfd0819e9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -576,7 +576,7 @@ impl Level { /// assert_eq!(Some(Level::Trace), levels.last()); /// ``` pub fn iter() -> impl Iterator { - (1..6).flat_map(Self::from_usize) + (1..6).map(|i| Self::from_usize(i).unwrap()) } } @@ -757,7 +757,7 @@ impl LevelFilter { /// assert_eq!(Some(LevelFilter::Trace), levels.last()); /// ``` pub fn iter() -> impl Iterator { - (0..6).flat_map(Self::from_usize) + (0..6).map(|i| Self::from_usize(i).unwrap()) } }