a259613c76
Requiring `name` to be a `&str` means it'll get annoying to pass around `Signature`, but being able to pass them around in an owned fashion is kinda a requirement for a stronger typed `PathInfo` struct, where we want to have full ownership. Rework the `Signature` struct to become generic over the type of the `name` field. This means, it becomes possible to have owned versions of it. We don't want to impose `String` or `SmolStr` for example, but want to leave it up to the nix-compat user to decide. Provide a type alias for the existing `&str` variant (`SignatureRef`), and use it where we previously used the non-generic `Signature` one. Add some tests to ensure it's possible to *use* `Signature` with both `String` and `SmolStr` (but only pull in `smol_str` as dev dependency for the tests). Also, add some more docstrings, these were a bit sparse. Change-Id: I3f75691498c6bda9cd072d2d9dac83c4f6c57287 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12253 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
59 lines
1.3 KiB
TOML
59 lines
1.3 KiB
TOML
[package]
|
|
name = "nix-compat"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[features]
|
|
# async NAR writer. Also needs the `wire` feature.
|
|
async = ["tokio"]
|
|
# code emitting low-level packets used in the daemon protocol.
|
|
wire = ["tokio", "pin-project-lite"]
|
|
|
|
# Enable all features by default.
|
|
default = ["async", "wire"]
|
|
|
|
[dependencies]
|
|
bitflags = "2.4.1"
|
|
bstr = { version = "1.6.0", features = ["alloc", "unicode", "serde"] }
|
|
data-encoding = "2.6.0"
|
|
ed25519 = "2.2.3"
|
|
ed25519-dalek = "2.1.0"
|
|
enum-primitive-derive = "0.3.0"
|
|
glob = "0.3.0"
|
|
mimalloc = "0.1.43"
|
|
nom = "7.1.3"
|
|
num-traits = "0.2.18"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sha2 = "0.10.6"
|
|
thiserror = "1.0.38"
|
|
|
|
[dependencies.tokio]
|
|
optional = true
|
|
version = "1.32.0"
|
|
features = ["io-util", "macros"]
|
|
|
|
[dependencies.pin-project-lite]
|
|
optional = true
|
|
version = "0.2.13"
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
futures = { version = "0.3.30", default-features = false, features = ["executor"] }
|
|
hex-literal = "0.4.1"
|
|
lazy_static = "1.4.0"
|
|
mimalloc = "0.1.43"
|
|
pretty_assertions = "1.4.0"
|
|
rstest = "0.19.0"
|
|
serde_json = "1.0"
|
|
smol_str = "0.2.2"
|
|
tokio-test = "0.4.3"
|
|
zstd = "^0.13.0"
|
|
|
|
[[bench]]
|
|
name = "derivation_parse_aterm"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "narinfo_parse"
|
|
harness = false
|