diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f0d6eb..d1c5511 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] + os: [ubuntu-latest, windows-latest, macos-latest] rust: [nightly, beta, stable] steps: - uses: actions/checkout@v3 @@ -51,7 +51,7 @@ jobs: os: [ubuntu-latest, windows-latest] # When updating this, the reminder to update the minimum supported # Rust version in Cargo.toml. - rust: ['1.48'] + rust: ['1.63'] steps: - uses: actions/checkout@v3 - name: Install Rust diff --git a/Cargo.toml b/Cargo.toml index f99e57c..c43fd22 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ name = "async-net" version = "1.7.0" authors = ["Stjepan Glavina "] edition = "2018" -rust-version = "1.48" +rust-version = "1.63" description = "Async networking primitives for TCP/UDP/Unix communication" license = "Apache-2.0 OR MIT" repository = "https://github.com/smol-rs/async-net" @@ -20,6 +20,3 @@ exclude = ["/.*"] async-io = "1.6.0" blocking = "1.0.0" futures-lite = "1.11.0" - -[build-dependencies] -autocfg = "1" diff --git a/build.rs b/build.rs deleted file mode 100644 index db1e913..0000000 --- a/build.rs +++ /dev/null @@ -1,16 +0,0 @@ -fn main() { - let cfg = match autocfg::AutoCfg::new() { - Ok(cfg) => cfg, - Err(e) => { - println!( - "cargo-warning=async-net: failed to detect compiler features: {}", - e - ); - return; - } - }; - - if !cfg.probe_rustc_version(1, 63) { - autocfg::emit("async_net_no_io_safety"); - } -} diff --git a/src/tcp.rs b/src/tcp.rs index 2c1d10d..0b9e267 100644 --- a/src/tcp.rs +++ b/src/tcp.rs @@ -2,14 +2,10 @@ use std::convert::TryFrom; use std::fmt; use std::io::{self, IoSlice, Read as _, Write as _}; use std::net::{Shutdown, SocketAddr}; -#[cfg(all(not(async_net_no_io_safety), unix))] -use std::os::unix::io::{AsFd, BorrowedFd, OwnedFd}; #[cfg(unix)] -use std::os::unix::io::{AsRawFd, RawFd}; +use std::os::unix::io::{AsFd, AsRawFd, BorrowedFd, OwnedFd, RawFd}; #[cfg(windows)] -use std::os::windows::io::{AsRawSocket, RawSocket}; -#[cfg(all(not(async_net_no_io_safety), windows))] -use std::os::windows::io::{AsSocket, BorrowedSocket, OwnedSocket}; +use std::os::windows::io::{AsRawSocket, AsSocket, BorrowedSocket, OwnedSocket, RawSocket}; use std::panic::{RefUnwindSafe, UnwindSafe}; use std::pin::Pin; use std::sync::Arc; @@ -244,14 +240,14 @@ impl AsRawFd for TcpListener { } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl AsFd for TcpListener { fn as_fd(&self) -> BorrowedFd<'_> { self.inner.get_ref().as_fd() } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl TryFrom for TcpListener { type Error = io::Error; @@ -267,14 +263,14 @@ impl AsRawSocket for TcpListener { } } -#[cfg(all(not(async_net_no_io_safety), windows))] +#[cfg(windows)] impl AsSocket for TcpListener { fn as_socket(&self) -> BorrowedSocket<'_> { self.inner.get_ref().as_socket() } } -#[cfg(all(not(async_net_no_io_safety), windows))] +#[cfg(windows)] impl TryFrom for TcpListener { type Error = io::Error; @@ -610,14 +606,14 @@ impl AsRawFd for TcpStream { } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl AsFd for TcpStream { fn as_fd(&self) -> BorrowedFd<'_> { self.inner.get_ref().as_fd() } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl TryFrom for TcpStream { type Error = io::Error; @@ -633,14 +629,14 @@ impl AsRawSocket for TcpStream { } } -#[cfg(all(not(async_net_no_io_safety), windows))] +#[cfg(windows)] impl AsSocket for TcpStream { fn as_socket(&self) -> BorrowedSocket<'_> { self.inner.get_ref().as_socket() } } -#[cfg(all(not(async_net_no_io_safety), windows))] +#[cfg(windows)] impl TryFrom for TcpStream { type Error = io::Error; diff --git a/src/udp.rs b/src/udp.rs index af14c47..4f3106c 100644 --- a/src/udp.rs +++ b/src/udp.rs @@ -1,14 +1,10 @@ use std::convert::TryFrom; use std::io; use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr}; -#[cfg(all(not(async_net_no_io_safety), unix))] -use std::os::unix::io::{AsFd, BorrowedFd, OwnedFd}; #[cfg(unix)] -use std::os::unix::io::{AsRawFd, RawFd}; +use std::os::unix::io::{AsFd, AsRawFd, BorrowedFd, OwnedFd, RawFd}; #[cfg(windows)] -use std::os::windows::io::{AsRawSocket, RawSocket}; -#[cfg(all(not(async_net_no_io_safety), windows))] -use std::os::windows::io::{AsSocket, BorrowedSocket, OwnedSocket}; +use std::os::windows::io::{AsRawSocket, AsSocket, BorrowedSocket, OwnedSocket, RawSocket}; use std::sync::Arc; use async_io::Async; @@ -627,14 +623,14 @@ impl AsRawFd for UdpSocket { } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl AsFd for UdpSocket { fn as_fd(&self) -> BorrowedFd<'_> { self.inner.get_ref().as_fd() } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl TryFrom for UdpSocket { type Error = io::Error; @@ -650,14 +646,14 @@ impl AsRawSocket for UdpSocket { } } -#[cfg(all(not(async_net_no_io_safety), windows))] +#[cfg(windows)] impl AsSocket for UdpSocket { fn as_socket(&self) -> BorrowedSocket<'_> { self.inner.get_ref().as_socket() } } -#[cfg(all(not(async_net_no_io_safety), windows))] +#[cfg(windows)] impl TryFrom for UdpSocket { type Error = io::Error; diff --git a/src/unix.rs b/src/unix.rs index 3d2c7ba..8e71114 100644 --- a/src/unix.rs +++ b/src/unix.rs @@ -6,10 +6,8 @@ use std::convert::TryFrom; use std::fmt; use std::io::{self, Read as _, Write as _}; use std::net::Shutdown; -#[cfg(not(async_net_no_io_safety))] -use std::os::unix::io::{AsFd, BorrowedFd, OwnedFd}; #[cfg(unix)] -use std::os::unix::io::{AsRawFd, RawFd}; +use std::os::unix::io::{AsFd, AsRawFd, BorrowedFd, OwnedFd, RawFd}; #[cfg(windows)] use std::os::windows::io::{AsRawSocket, RawSocket}; use std::panic::{RefUnwindSafe, UnwindSafe}; @@ -174,14 +172,14 @@ impl AsRawFd for UnixListener { } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl AsFd for UnixListener { fn as_fd(&self) -> BorrowedFd<'_> { self.inner.get_ref().as_fd() } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl TryFrom for UnixListener { type Error = io::Error; @@ -389,14 +387,14 @@ impl AsRawFd for UnixStream { } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl AsFd for UnixStream { fn as_fd(&self) -> BorrowedFd<'_> { self.inner.get_ref().as_fd() } } -#[cfg(all(not(async_net_no_io_safety), unix))] +#[cfg(unix)] impl TryFrom for UnixStream { type Error = io::Error;