# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "region"
version = "2.2.0"
authors = ["Elliott Linder <elliott.darfink@gmail.com>"]
description = "A library for manipulating memory regions"
homepage = "https://github.com/darfink/region-rs"
documentation = "https://docs.rs/region"
readme = "README.md"
keywords = ["region", "page", "lock", "protect", "maps"]
license = "MIT"
repository = "https://github.com/darfink/region-rs"
[dependencies.bitflags]
version = "1.0"

[dependencies.libc]
version = "0.2"
[dev-dependencies.memmap]
version = "0.7"
[target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.mach]
version = "0.3"
[target."cfg(windows)".dependencies.winapi]
version = "0.3"
features = ["basetsd", "minwindef", "sysinfoapi", "memoryapi", "winnt"]
[badges.azure-devops]
pipeline = "darfink.region-rs"
project = "darfink/region-rs"
