io-lifetimes 0.7.5

A low-level I/O ownership and borrowing library
Documentation
[package]
name = "io-lifetimes"
version = "0.7.5"
description = "A low-level I/O ownership and borrowing library"
authors = ["Dan Gohman <dev@sunfishcode.online>"]
license = "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT"
keywords = ["api", "io"]
categories = ["os", "rust-patterns"]
edition = "2018"
repository = "https://github.com/sunfishcode/io-lifetimes"
include = ["src", "build.rs", "Cargo.toml", "COPYRIGHT", "LICENSE*", "/*.md"]

[dependencies]
# io-lifetimes only depends on libc/windows-sys for the ability to close
# and duplicate fds/handles/sockets. The following are just optional
# dependencies to add foreign-type impls for the traits. In the future,
# we'll prefer to have crates provide their own impls; this is just a
# temporary measure.

# Optionally depend on fs_err to implement traits for its types for now.
fs-err = { version = "2.6.0", optional = true }

[target.'cfg(not(target_os = "wasi"))'.dependencies]
# Optionally depend on os_pipe to implement traits for its types for now.
os_pipe = { version = "1.0.0", optional = true }

# The following dependencies allow io-lifetimes to define impls for various
# third-party traits. This is only done in not(io_lifetimes_use_std) mode,
# because when we're using the std types and traits, we can't define impls
# on third-party traits, due to the orphan rule. Work is ongoing to add
# the needs impls upstream.
#
# These dependencies are currently disabled on WASI, because we need to
# enable some features which don't work on WASI yet. So for now, WASI users
# will need to wait until the impls are added upstream.

# Optionally depend on async-std just to provide impls for its types.
async-std = { version = "1.12.0", optional = true }
# Optionally depend on tokio to implement traits for its types.
tokio = { version = "1.6.0", features = ["io-std", "fs", "net", "process"], optional = true }
# Optionally depend on socket2 to implement traits for its types.
socket2 = { version = "0.4.0", optional = true }
# Optionally depend on mio to implement traits for its types.
mio = { version = "0.8.0", features = ["net", "os-ext"], optional = true }

[target.'cfg(not(windows))'.dependencies]
libc = { version = "0.2.96", optional = true }

[target.'cfg(windows)'.dependencies.windows-sys]
version = "0.42.0"
optional = true
features = [
    "Win32_Foundation",
    "Win32_Storage_FileSystem",
    "Win32_Networking_WinSock",
    "Win32_Security",
    "Win32_System_IO",
    "Win32_System_Threading",
]

[features]
default = ["close"]
close = ["libc", "windows-sys"]