# 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]
edition = "2018"
name = "tinyvec"
version = "1.3.1"
authors = ["Lokathor <zefria@gmail.com>"]
description = "`tinyvec` provides 100% safe vec-like data structures."
keywords = ["vec", "no_std", "no-std"]
categories = ["data-structures", "no-std"]
license = "Zlib OR Apache-2.0 OR MIT"
repository = "https://github.com/Lokathor/tinyvec"
[package.metadata.docs.rs]
features = ["alloc", "grab_spare_slice", "rustc_1_40", "serde"]
rustdoc-args = ["--cfg", "docs_rs"]

[package.metadata.playground]
features = ["alloc", "grab_spare_slice", "rustc_1_40", "serde"]
[profile.test]
opt-level = 3

[[test]]
name = "tinyvec"
required-features = ["alloc"]

[[bench]]
name = "macros"
harness = false
required-features = ["alloc"]
[dependencies.arbitrary]
version = "1"
optional = true

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

[dependencies.tinyvec_macros]
version = "0.1"
optional = true
[dev-dependencies.criterion]
version = "0.3.0"

[dev-dependencies.serde_test]
version = "1.0"

[features]
alloc = ["tinyvec_macros"]
default = []
experimental_write_impl = []
grab_spare_slice = []
nightly_const_generics = []
nightly_slice_partition_dedup = []
rustc_1_40 = []
