Files
winit/winit-wayland/Cargo.toml
John Nunley b8f28efd04 wayland: Move hash algorithm to foldhash
At the moment, the wayland code uses ahash to perform hashing
in its various hash mas. This was done because ahash was seen as
the best default in the Rust community at the time. However, most
Rust crates (including `hashbrown`) have since moved to using
foldhash instead.

This move is done for two primary reasons:

- This reduces the number of dependencies in the tree for most GUI
  projects. As other projects use foldhash now, this removes ahash
  (as well as its five dependencies) from the tree.
- In most cases, foldhash is faster than ahash.

Signed-off-by: John Nunley <dev@notgull.net>
2026-01-29 09:15:25 +09:00

49 lines
1.6 KiB
TOML

[package]
description = "Winit's Wayland backend"
documentation = "https://docs.rs/winit-wayland"
edition.workspace = true
license.workspace = true
name = "winit-wayland"
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[features]
default = ["dlopen", "csd-adwaita"]
csd-adwaita = ["sctk-adwaita", "sctk-adwaita/ab_glyph"]
csd-adwaita-crossfont = ["sctk-adwaita", "sctk-adwaita/crossfont"]
csd-adwaita-notitle = ["sctk-adwaita"]
csd-adwaita-notitlebar = ["csd-adwaita-notitle"]
dlopen = ["wayland-backend/dlopen"]
serde = ["dep:serde", "bitflags/serde", "smol_str/serde", "dpi/serde"]
[dependencies]
bitflags.workspace = true
cursor-icon.workspace = true
dpi.workspace = true
rwh_06.workspace = true
serde = { workspace = true, optional = true }
smol_str.workspace = true
tracing.workspace = true
winit-core.workspace = true
# Platform-specific
calloop.workspace = true
foldhash.workspace = true
libc.workspace = true
memmap2.workspace = true
rustix = { workspace = true, features = ["std", "system", "thread", "process", "event", "pipe"] }
sctk = { package = "smithay-client-toolkit", version = "0.20.0", default-features = false, features = [
"calloop",
] }
sctk-adwaita = { version = "0.11.0", default-features = false, optional = true }
wayland-backend = { version = "0.3.10", default-features = false, features = ["client_system"] }
wayland-client = "0.31.10"
wayland-protocols = { version = "0.32.8", features = ["staging"] }
wayland-protocols-plasma = { version = "0.3.8", features = ["client"] }
winit-common = { workspace = true, features = ["xkb", "wayland"] }
[package.metadata.docs.rs]
features = ["dlopen", "serde", "csd-adwaita"]