1[package]
2name = "tinyvec"
3description = "`tinyvec` provides 100% safe vec-like data structures."
4version = "1.1.1"
5authors = ["Lokathor <zefria@gmail.com>"]
6edition = "2018"
7license = "Zlib OR Apache-2.0 OR MIT"
8keywords = ["vec", "no_std", "no-std"]
9categories = ["data-structures", "no-std"]
10repository = "https://github.com/Lokathor/tinyvec"
11
12[dependencies]
13tinyvec_macros = { version = "0.1", optional = true }
14# Provides `Serialize` and `Deserialize` implementations
15serde = { version = "1.0", optional = true, default-features = false }
16
17[features]
18default = []
19
20# Provide things that utilize the `alloc` crate, namely `TinyVec`.
21alloc = ["tinyvec_macros"]
22
23# (not part of Vec!) Extra methods to let you grab the slice of memory after the
24# "active" portion of an `ArrayVec` or `SliceVec`.
25grab_spare_slice = []
26
27# features that require rustc 1.40
28# use Vec::append if possible in TinyVec::append - 1.37
29# DoubleEndedIterator::nth_back - 1.40
30rustc_1_40 = []
31
32# allow use of nightly feature `slice_partition_dedup`,
33# will become useless once that is stabilized:
34# https://github.com/rust-lang/rust/issues/54279
35nightly_slice_partition_dedup = []
36
37# use const generics for arrays
38nightly_const_generics = []
39
40# EXPERIMENTAL: Not part of SemVer. It adds `core::fmt::Write` to `ArrayVec`
41# and `SliceVec`. It works on Stable Rust, but Vec normally supports the
42# `std::io::Write` trait instead of `core::fmt::Write`, so we're keeping it as
43# an experimental impl only for now.
44experimental_write_impl = []
45
46[package.metadata.docs.rs]
47features = ["alloc", "grab_spare_slice", "rustc_1_40", "serde"]
48rustdoc-args = ["--cfg","docs_rs"]
49
50[package.metadata.playground]
51features = ["alloc", "grab_spare_slice", "rustc_1_40", "serde"]
52
53[profile.test]
54opt-level = 3
55
56[workspace]
57members = ["fuzz"]
58
59[dev-dependencies]
60criterion = "0.3.0"
61serde_test = "1.0"
62
63[[test]]
64name = "tinyvec"
65required-features = ["alloc"]
66
67[[bench]]
68name = "macros"
69harness = false
70required-features = ["alloc"]
71