# 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 = "rand_jitter"
version = "0.1.3"
authors = ["The Rand Project Developers"]
description = "Random number generator based on timing jitter"
documentation = "https://docs.rs/rand_jitter"
readme = "README.md"
keywords = ["random", "rng", "os"]
license = "MIT/Apache-2.0"
repository = "https://github.com/rust-random/rand"
[dependencies.log]
version = "0.4"
optional = true

[dependencies.rand_core]
version = "0.4"

[features]
std = ["rand_core/std"]
[target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.libc]
version = "0.2"
default_features = false
[target."cfg(target_os = \"windows\")".dependencies.winapi]
version = "0.3"
features = ["profileapi"]
[badges.appveyor]
repository = "rust-random/rand"

[badges.travis-ci]
repository = "rust-random/rand"
