# 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]
name = "triomphe"
version = "0.1.11"
authors = ["The Servo Project Developers"]
description = "A fork of std::sync::Arc with some extra functionality and without weak references (originally servo_arc)"
readme = "README.md"
keywords = [
    "arc",
    "ffi",
    "sync",
    "data-structure",
]
categories = [
    "concurrency",
    "data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Manishearth/triomphe"

[dependencies.arc-swap]
version = "1.3.0"
optional = true

[dependencies.serde]
version = "1.0"
optional = true
default-features = false

[dependencies.stable_deref_trait]
version = "1.1.1"
optional = true
default-features = false

[dependencies.unsize]
version = "1.1"
optional = true

[features]
default = [
    "serde",
    "stable_deref_trait",
    "std",
]
std = []
