rand 0.9.0

Random number generators and other randomness functionality.
Documentation
[package]
name = "rand"
version = "0.9.0"
authors = ["The Rand Project Developers", "The Rust Project Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/rust-random/rand"
documentation = "https://docs.rs/rand"
homepage = "https://rust-random.github.io/book"
description = """
Random number generators and other randomness functionality.
"""
keywords = ["random", "rng"]
categories = ["algorithms", "no-std"]
autobenches = true
edition = "2021"
rust-version = "1.63"
include = ["src/", "LICENSE-*", "README.md", "CHANGELOG.md", "COPYRIGHT"]

[package.metadata.docs.rs]
# To build locally:
# RUSTDOCFLAGS="--cfg docsrs -Zunstable-options --generate-link-to-definition" cargo +nightly doc --all --all-features --no-deps --open
all-features = true
rustdoc-args = ["--generate-link-to-definition"]

[package.metadata.playground]
features = ["small_rng", "serde"]

[features]
# Meta-features:
default = ["std", "std_rng", "os_rng", "small_rng", "thread_rng"]
nightly = [] # some additions requiring nightly Rust
serde = ["dep:serde", "rand_core/serde"]

# Option (enabled by default): without "std" rand uses libcore; this option
# enables functionality expected to be available on a standard platform.
std = ["rand_core/std", "rand_chacha?/std", "alloc"]

# Option: "alloc" enables support for Vec and Box when not using "std"
alloc = []

# Option: enable OsRng
os_rng = ["rand_core/os_rng"]

# Option (requires nightly Rust): experimental SIMD support
simd_support = ["zerocopy/simd-nightly"]

# Option (enabled by default): enable StdRng
std_rng = ["dep:rand_chacha"]

# Option: enable SmallRng
small_rng = []

# Option: enable ThreadRng and rng()
thread_rng = ["std", "std_rng", "os_rng"]

# Option: use unbiased sampling for algorithms supporting this option: Uniform distribution.
# By default, bias affecting no more than one in  2^48 samples is accepted.
# Note: enabling this option is expected to affect reproducibility of results.
unbiased = []

# Option: enable logging
log = ["dep:log"]

[workspace]
members = [
    "rand_core",
    "rand_distr",
    "rand_chacha",
    "rand_pcg",
]
exclude = ["benches", "distr_test"]

[dependencies]
rand_core = { path = "rand_core", version = "0.9.0", default-features = false }
log = { version = "0.4.4", optional = true }
serde = { version = "1.0.103", features = ["derive"], optional = true }
rand_chacha = { path = "rand_chacha", version = "0.9.0", default-features = false, optional = true }
zerocopy = { version = "0.8.0", default-features = false, features = ["simd"] }

[dev-dependencies]
rand_pcg = { path = "rand_pcg", version = "0.9.0" }
# Only to test serde
bincode = "1.2.1"
rayon = "1.7"