diff --git a/io/Cargo.toml b/io/Cargo.toml index 852e465c5..f6747bb3b 100644 --- a/io/Cargo.toml +++ b/io/Cargo.toml @@ -23,4 +23,4 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [lints.rust] -unexpected_cfgs = { level = "deny", check-cfg = ['cfg(rust_v_1_72)'] } +unexpected_cfgs = { level = "deny", check-cfg = ['cfg(rust_v_1_72)', 'cfg(rust_v_1_73)', 'cfg(rust_v_1_75)', 'cfg(rust_v_1_78)'] } diff --git a/io/src/bridge.rs b/io/src/bridge.rs index f54530b40..85e999167 100644 --- a/io/src/bridge.rs +++ b/io/src/bridge.rs @@ -344,3 +344,198 @@ impl_our! { impl_our! { impl Write for std::io::BufWriter } + +#[cfg(rust_v_1_72)] +impl_our! { + impl Write for std::io::LineWriter where W: ?Sized +} + +#[cfg(not(rust_v_1_72))] +impl_our! { + impl Write for std::io::LineWriter +} + +impl_our! { + impl Read for std::io::Take +} + +impl_our! { + impl BufRead for std::io::Take +} + +impl_our! { + impl Read for std::io::Chain +} + +impl_our! { + impl BufRead for std::io::Chain +} + +impl_our! { + impl> Read for std::io::Cursor +} + +impl_our! { + impl> BufRead for std::io::Cursor +} + +impl_our! { + impl Write for std::io::Cursor> +} + +impl_our! { + impl Write for std::io::Cursor<&'_ mut std::vec::Vec> +} + +impl_our! { + impl Write for std::io::Cursor> +} + +impl_our! { + impl Read for std::io::Empty +} + +impl_our! { + impl BufRead for std::io::Empty +} + +#[cfg(rust_v_1_73)] +impl_our! { + impl Write for std::io::Empty +} + +// No idea why &Empty impls Write but not Read + BufRead +#[cfg(rust_v_1_73)] +impl_our! { + impl Write for &'_ std::io::Empty +} + +impl_our! { + impl Read for std::io::Repeat +} + +impl_our! { + impl Read for std::io::Stdin +} + +#[cfg(rust_v_1_78)] +impl_our! { + impl Read for &'_ std::io::Stdin +} + +impl_our! { + impl Write for std::io::Stdout +} + +impl_our! { + impl Write for &'_ std::io::Stdout +} + +impl_our! { + impl Write for std::io::Stderr +} + +impl_our! { + impl Write for &'_ std::io::Stderr +} + +impl_our! { + impl Read for std::io::StdinLock<'_> +} + +impl_our! { + impl BufRead for std::io::StdinLock<'_> +} + +impl_our! { + impl Read for std::fs::File +} + +impl_our! { + impl Write for std::fs::File +} + +impl_our! { + impl Read for &'_ std::fs::File +} + +impl_our! { + impl Write for &'_ std::fs::File +} + +#[cfg(rust_v_1_73)] +impl_our! { + impl Read for std::sync::Arc +} + +#[cfg(rust_v_1_73)] +impl_our! { + impl Write for std::sync::Arc +} + +impl_our! { + impl Read for std::net::TcpStream +} + +impl_our! { + impl Write for std::net::TcpStream +} + +impl_our! { + impl Read for &'_ std::net::TcpStream +} + +impl_our! { + impl Write for &'_ std::net::TcpStream +} + +#[cfg(target_family = "unix")] +impl_our! { + impl Read for std::os::unix::net::UnixStream +} + +#[cfg(target_family = "unix")] +impl_our! { + impl Write for std::os::unix::net::UnixStream +} + +#[cfg(target_family = "unix")] +impl_our! { + impl Read for &'_ std::os::unix::net::UnixStream +} + +#[cfg(target_family = "unix")] +impl_our! { + impl Write for &'_ std::os::unix::net::UnixStream +} + +impl_our! { + impl Read for std::process::ChildStderr +} + +impl_our! { + impl Read for std::process::ChildStdout +} + +impl_our! { + impl Write for std::process::ChildStdin +} + +// No ide why other &ChildStd* are not implemented +impl_our! { + impl Write for &'_ std::process::ChildStdin +} + +#[cfg(rust_v_1_75)] +impl_our! { + impl Read for std::collections::VecDeque +} + +#[cfg(rust_v_1_75)] +impl_our! { + impl BufRead for std::collections::VecDeque +} + +impl_our! { + impl Write for std::collections::VecDeque +}