refactor(nix-compat): Move serialization machinery into wire.

This groups most `wire` feature gated logic into a single module.
The nix_daemon module will be gated by a feature that adds
nix-compat-derive as a dependency.

All of this is a way to break the crate2nix dependency cycle between
nix-compat and nix-compat-derive(which depends on nix-compat for its
doctests).

Change-Id: I95938a6f280c11967371ff21f8b5a19e6d3d3805
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12761
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
Vova Kryachko 2024-11-10 11:16:48 -05:00 committed by Vladimir Kryachko
parent 11ee751aff
commit 8df919dcf0
28 changed files with 45 additions and 49 deletions

View file

@ -1,7 +1,7 @@
use std::str::FromStr;
use nix_compat::nix_daemon::de::mock::{Builder, Error};
use nix_compat::nix_daemon::de::NixRead;
use nix_compat::wire::de::mock::{Builder, Error};
use nix_compat::wire::de::NixRead;
use nix_compat_derive::NixDeserialize;
#[derive(Debug, PartialEq, Eq, NixDeserialize)]

View file

@ -15,7 +15,7 @@ error[E0277]: the trait bound `BadType: NixDeserialize` is not satisfied
u64
usize
note: required by a bound in `try_read_value`
--> $WORKSPACE/nix-compat/src/nix_daemon/de/mod.rs
--> $WORKSPACE/nix-compat/src/wire/de/mod.rs
|
| fn try_read_value<V: NixDeserialize>(
| ^^^^^^^^^^^^^^ required by this bound in `NixRead::try_read_value`

View file

@ -7,7 +7,7 @@ error[E0277]: `()` doesn't implement `std::fmt::Display`
= help: the trait `std::fmt::Display` is not implemented for `()`
= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
note: required by a bound in `invalid_data`
--> $WORKSPACE/nix-compat/src/nix_daemon/de/mod.rs
--> $WORKSPACE/nix-compat/src/wire/de/mod.rs
|
| fn invalid_data<T: fmt::Display>(msg: T) -> Self {
| ^^^^^^^^^^^^ required by this bound in `Error::invalid_data`

View file

@ -1,5 +1,6 @@
error: Missing from_str, from or try_from attribute
--> tests/ui/deserialize_remote_missing_attr.rs:10:25
--> tests/ui/deserialize_remote_missing_attr.rs:11:5
|
10 | nix_deserialize_remote!(#[nix()] Value);
| ^^^^^^^^^^^^^^
11 | / #[nix()]
12 | | Value
| |_________^

View file

@ -7,7 +7,7 @@ error[E0277]: `()` doesn't implement `std::fmt::Display`
= help: the trait `std::fmt::Display` is not implemented for `()`
= note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
note: required by a bound in `invalid_data`
--> $WORKSPACE/nix-compat/src/nix_daemon/de/mod.rs
--> $WORKSPACE/nix-compat/src/wire/de/mod.rs
|
| fn invalid_data<T: fmt::Display>(msg: T) -> Self {
| ^^^^^^^^^^^^ required by this bound in `Error::invalid_data`

View file

@ -1,6 +1,6 @@
use std::fmt;
use nix_compat::nix_daemon::ser::{
use nix_compat::wire::ser::{
mock::{Builder, Error},
NixWrite as _,
};