# 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 = "2021"
rust-version = "1.63"
name = "rayon-core"
version = "1.12.1"
authors = [
    "Niko Matsakis <niko@alum.mit.edu>",
    "Josh Stone <cuviper@gmail.com>",
]
build = "build.rs"
links = "rayon-core"
description = "Core APIs for Rayon"
documentation = "https://docs.rs/rayon/"
readme = "README.md"
keywords = [
    "parallel",
    "thread",
    "concurrency",
    "join",
    "performance",
]
categories = ["concurrency"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rayon-rs/rayon"

[[test]]
name = "stack_overflow_crash"
path = "tests/stack_overflow_crash.rs"

[[test]]
name = "double_init_fail"
path = "tests/double_init_fail.rs"

[[test]]
name = "init_zero_threads"
path = "tests/init_zero_threads.rs"

[[test]]
name = "scope_join"
path = "tests/scope_join.rs"

[[test]]
name = "simple_panic"
path = "tests/simple_panic.rs"

[[test]]
name = "scoped_threadpool"
path = "tests/scoped_threadpool.rs"

[[test]]
name = "use_current_thread"
path = "tests/use_current_thread.rs"

[dependencies.crossbeam-deque]
version = "0.8.1"

[dependencies.crossbeam-utils]
version = "0.8.0"

[dependencies.wasm_sync]
version = "0.1.0"
optional = true

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.rand_xorshift]
version = "0.3"

[dev-dependencies.scoped-tls]
version = "1.0"

[features]
web_spin_lock = ["dep:wasm_sync"]

[target."cfg(unix)".dev-dependencies.libc]
version = "0.2"
