# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

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

[dependencies.fs-err]
version = "2.6.0"
optional = true

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

[target."cfg(not(target_os = \"wasi\"))".dependencies.async-std]
version = "1.12.0"
optional = true

[target."cfg(not(target_os = \"wasi\"))".dependencies.mio]
version = "0.8.0"
features = [
    "net",
    "os-ext",
]
optional = true

[target."cfg(not(target_os = \"wasi\"))".dependencies.os_pipe]
version = "1.0.0"
features = ["io_safety"]
optional = true

[target."cfg(not(target_os = \"wasi\"))".dependencies.socket2]
version = "0.4.0"
optional = true

[target."cfg(not(target_os = \"wasi\"))".dependencies.tokio]
version = "1.6.0"
features = [
    "io-std",
    "fs",
    "net",
    "process",
]
optional = true

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

[target."cfg(target_os = \"hermit\")".dependencies.hermit-abi]
version = "0.3"
optional = true

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