mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-23 21:05:08 +00:00
Swaps the `arrayvec` dependency for `heapless`, as the `heapless` library allows changing the type used for the `len` field, which `arrayvec` hard-codes to `usize`. This means that, for all the `ArrayVec`s in Zed, we can save 7 bytes on 64 bit platforms by just storing the length as a `u8`. I have not benchmarked this change locally, as I don't know what benchmarking tools are in this project. As a small bit of context, I wrote the PR to `heapless` to add this `LenT` generic after seeing a PR on the `arrayvec` crate that seems to be dead now. Once I saw some of Zed's blog posts about the `rope` crate and noticed the usage of `arrayvec`, I thought this might be a welcome change. Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
35 lines
No EOL
651 B
TOML
35 lines
No EOL
651 B
TOML
[package]
|
|
name = "sum_tree"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish = false
|
|
license = "Apache-2.0"
|
|
description = "A sum tree data structure, a concurrency-friendly B-tree"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/sum_tree.rs"
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
heapless.workspace = true
|
|
rayon.workspace = true
|
|
log.workspace = true
|
|
ztracing.workspace = true
|
|
tracing.workspace = true
|
|
proptest = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
ctor.workspace = true
|
|
rand.workspace = true
|
|
proptest.workspace = true
|
|
zlog.workspace = true
|
|
|
|
|
|
[package.metadata.cargo-machete]
|
|
ignored = ["tracing"]
|
|
|
|
[features]
|
|
test-support = ["proptest"] |