1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
cfg_if::cfg_if! { if #[cfg(all(feature = "futures_io", not(feature = "tokio_io")))] { pub use futures_io::{AsyncBufRead, AsyncRead, AsyncSeek, AsyncWrite}; } else if #[cfg(all(not(feature = "futures_io"), feature = "tokio_io"))] { pub use tokio::io::{AsyncBufRead, AsyncRead, AsyncSeek, AsyncWrite}; } } cfg_if::cfg_if! { if #[cfg(all(feature = "futures_util_io", not(feature = "futures_lite_io"), not(feature = "tokio_io_util"), feature = "futures_io", not(feature = "tokio_io")))] { pub use futures_util::io::{AsyncBufReadExt, AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufReader}; pub use futures_util::io::Cursor; } else if #[cfg(all(not(feature = "futures_util_io"), feature = "futures_lite_io", not(feature = "tokio_io_util"), feature = "futures_io", not(feature = "tokio_io")))] { pub use futures_lite::io::{AsyncBufReadExt, AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufReader}; pub use futures_lite::io::Cursor; } else if #[cfg(all(not(feature = "futures_util_io"), not(feature = "futures_lite_io"), feature = "tokio_io_util", not(feature = "futures_io"), feature = "tokio_io"))] { pub use tokio::io::{AsyncBufReadExt, AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufReader}; pub use std::io::Cursor; } }