| use crate::IsTerminal; |
| |
| /// Required functionality for underlying [`std::io::Write`] for adaptation |
| #[cfg(not(all(windows, feature = "wincon")))] |
| pub trait RawStream: std::io::Write + IsTerminal + private::Sealed {} |
| |
| /// Required functionality for underlying [`std::io::Write`] for adaptation |
| #[cfg(all(windows, feature = "wincon"))] |
| pub trait RawStream: |
| std::io::Write + IsTerminal + anstyle_wincon::WinconStream + private::Sealed |
| { |
| } |
| |
| impl RawStream for std::io::Stdout {} |
| |
| impl RawStream for std::io::StdoutLock<'static> {} |
| |
| impl RawStream for std::io::Stderr {} |
| |
| impl RawStream for std::io::StderrLock<'static> {} |
| |
| impl RawStream for std::fs::File {} |
| |
| impl RawStream for crate::Buffer {} |
| |
| mod private { |
| pub trait Sealed {} |
| |
| impl Sealed for std::io::Stdout {} |
| |
| impl Sealed for std::io::StdoutLock<'static> {} |
| |
| impl Sealed for std::io::Stderr {} |
| |
| impl Sealed for std::io::StderrLock<'static> {} |
| |
| impl Sealed for std::fs::File {} |
| |
| impl Sealed for crate::Buffer {} |
| } |