mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-24 21:59:04 +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>
37 lines
732 B
TOML
37 lines
732 B
TOML
[package]
|
|
name = "rope"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/rope.rs"
|
|
|
|
[dependencies]
|
|
heapless.workspace = true
|
|
log.workspace = true
|
|
rayon.workspace = true
|
|
sum_tree.workspace = true
|
|
unicode-segmentation.workspace = true
|
|
util.workspace = true
|
|
ztracing.workspace = true
|
|
tracing.workspace = true
|
|
|
|
[dev-dependencies]
|
|
ctor.workspace = true
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
rand.workspace = true
|
|
util = { workspace = true, features = ["test-support"] }
|
|
criterion.workspace = true
|
|
zlog.workspace = true
|
|
|
|
[[bench]]
|
|
name = "rope_benchmark"
|
|
harness = false
|
|
|
|
[package.metadata.cargo-machete]
|
|
ignored = ["tracing"]
|