anstyle_stream/
raw.rs

1/// Required functionality for underlying [`std::io::Write`] for adaptation
2#[cfg(not(any(feature = "auto", all(windows, feature = "wincon"))))]
3pub trait RawStream: std::io::Write + private::Sealed {}
4
5/// Required functionality for underlying [`std::io::Write`] for adaptation
6#[cfg(all(feature = "auto", not(all(windows, feature = "wincon"))))]
7pub trait RawStream: std::io::Write + is_terminal::IsTerminal + private::Sealed {}
8
9/// Required functionality for underlying [`std::io::Write`] for adaptation
10#[cfg(all(not(feature = "auto"), all(windows, feature = "wincon")))]
11pub trait RawStream: std::io::Write + anstyle_wincon::WinconStream + private::Sealed {}
12
13/// Required functionality for underlying [`std::io::Write`] for adaptation
14#[cfg(all(feature = "auto", all(windows, feature = "wincon")))]
15pub trait RawStream:
16    std::io::Write + is_terminal::IsTerminal + anstyle_wincon::WinconStream + private::Sealed
17{
18}
19
20impl RawStream for std::io::Stdout {}
21
22impl RawStream for std::io::StdoutLock<'static> {}
23
24impl RawStream for std::io::Stderr {}
25
26impl RawStream for std::io::StderrLock<'static> {}
27
28impl RawStream for crate::Buffer {}
29
30mod private {
31    pub trait Sealed {}
32
33    impl Sealed for std::io::Stdout {}
34
35    impl Sealed for std::io::StdoutLock<'static> {}
36
37    impl Sealed for std::io::Stderr {}
38
39    impl Sealed for std::io::StderrLock<'static> {}
40
41    impl Sealed for crate::Buffer {}
42}