feat(tvix/nix-compat-derive): Add deriver for NixDeserialize

This adds a nix-compat-derive derive crate that implements a deriver
for NixDeserialize implementations. This is to reduce the amount of
code needed to implement deserialization for all the types used by
the Nix daemon protocol.

Change-Id: I484724b550e8a1d5e9adad9555d9dc1374ae95c2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12022
Autosubmit: Brian Olsen <me@griff.name>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
Brian Olsen 2024-07-22 16:51:42 +02:00 committed by clbot
parent 9af6920478
commit ced05a2bb6
48 changed files with 2376 additions and 3 deletions

View file

@ -54,6 +54,13 @@ impl From<u16> for ProtocolVersion {
}
}
#[cfg(any(test, feature = "test"))]
impl From<(u8, u8)> for ProtocolVersion {
fn from((major, minor): (u8, u8)) -> Self {
Self::from_parts(major, minor)
}
}
impl TryFrom<u64> for ProtocolVersion {
type Error = &'static str;