Coverage Report

Created: 2025-11-16 06:56

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/anstyle-1.0.13/src/reset.rs
Line
Count
Source
1
/// Reset terminal formatting
2
#[allow(clippy::exhaustive_structs)]
3
#[derive(Copy, Clone, Default, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
4
pub struct Reset;
5
6
impl Reset {
7
    /// Render the ANSI code
8
    ///
9
    /// `Reset` also implements `Display` directly, so calling this method is optional.
10
    #[inline]
11
0
    pub fn render(self) -> impl core::fmt::Display + Copy {
12
0
        self
13
0
    }
14
}
15
16
impl core::fmt::Display for Reset {
17
0
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18
0
        f.write_str(RESET)
19
0
    }
20
}
21
22
pub(crate) const RESET: &str = "\x1B[0m";
23
24
#[cfg(test)]
25
#[cfg(feature = "std")]
26
mod test {
27
    use super::*;
28
29
    #[test]
30
    fn print_size_of() {
31
        use core::mem::size_of;
32
        dbg!(size_of::<Reset>());
33
    }
34
35
    #[test]
36
    fn no_align() {
37
        #[track_caller]
38
        fn assert_no_align(d: impl core::fmt::Display) {
39
            let expected = format!("{d}");
40
            let actual = format!("{d:<10}");
41
            assert_eq!(expected, actual);
42
        }
43
44
        assert_no_align(Reset);
45
        assert_no_align(Reset.render());
46
    }
47
}