-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCargo.toml
82 lines (66 loc) · 2.82 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[package]
name = "bump-scope"
version = "0.16.1"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "A fast bump allocator that supports allocation scopes / checkpoints. Aka an arena for values of arbitrary types."
categories = ["memory-management", "rust-patterns", "no-std"]
keywords = ["allocator", "arena", "no-std", "bump", "allocation"]
documentation = "https://docs.rs/bump-scope"
repository = "https://github.com/bluurryy/bump-scope"
rust-version = "1.64.0"
readme = "README.md"
exclude = ["*.nu", "justfile", "tests", ".vscode", ".github"]
[dependencies]
allocator-api2 = { version = "0.2.21", default-features = false }
sptr = "0.3.2"
serde = { version = "1.0.217", optional = true }
zerocopy = { version = "0.8.14", default-features = false, optional = true }
rustversion = "1.0.19"
[features]
default = ["std", "alloc", "panic-on-alloc"]
## Adds `BumpPool` and implementations of `std::io` traits.
std = ["allocator-api2/std", "alloc"]
## Adds `Global` as the default base allocator and some interactions with `alloc` collections.
alloc = ["allocator-api2/alloc"]
## Adds functions and traits that will panic when the allocation fails.
## Without this feature, allocation failures cannot cause panics, and only
## `try_`-prefixed allocation methods will be available.
panic-on-alloc = []
## Adds `Serialize` implementations for `BumpBox`, strings and vectors, and `DeserializeSeed` for strings and vectors.
serde = ["dep:serde"]
## Adds `alloc_zeroed(_slice)`, `init_zeroed`, `resize_zeroed` and `extend_zeroed`.
zerocopy = ["dep:zerocopy"]
#! ### Nightly features
## Enables `allocator-api2`'s `nightly` feature which makes it reexport the nightly allocator api instead of its own implementation.
## With this you can bump allocate collections from the standard library.
nightly-allocator-api = ["allocator-api2/nightly", "hashbrown/nightly"]
## Makes `BumpBox<T>` implement [`CoerceUnsized`](core::ops::CoerceUnsized).
## With this `BumpBox<[i32;3]>` coerces to `BumpBox<[i32]>`, `BumpBox<dyn Debug>` and so on.
nightly-coerce-unsized = []
## Implements `is_empty` manually for some iterators.
nightly-exact-size-is-empty = []
## Implements `TrustedLen` for some iterators.
nightly-trusted-len = []
[dev-dependencies]
trybuild = "1.0.90"
expect-test = "1.4.1"
criterion = { version = "0.5.1", features = ["html_reports"] }
bumpalo = "3.16.0"
rayon = "1.10.0"
serde_json = "1.0.115"
document-features = "0.2.8"
hashbrown = "0.15.0"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[package.metadata.release]
allow-branch = ["main"]
pre-release-hook = ["just", "pre-release"]
pre-release-commit-message = "release: version {{version}}"
pre-release-replacements = [
{ file = "CHANGELOG.md", search = "Unreleased", replace = "{{version}} ({{date}})" },
]
[[bench]]
name = "benches"
harness = false