diff options
author | Vova Kryachko <v.kryachko@gmail.com> | 2024-11-10T16·16-0500 |
---|---|---|
committer | Vladimir Kryachko <v.kryachko@gmail.com> | 2024-11-10T20·54+0000 |
commit | 8df919dcf04b5c2502f3a63b4d013669da5e70c1 (patch) | |
tree | 3a527553fc48f62f331ef2b6a5667b6fe591290d /tvix/nix-compat-derive | |
parent | 11ee751aff42804319788a9033685a455bdf8f8e (diff) |
refactor(nix-compat): Move serialization machinery into wire. r/8898
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>
Diffstat (limited to 'tvix/nix-compat-derive')
-rw-r--r-- | tvix/nix-compat-derive/src/de.rs | 8 | ||||
-rw-r--r-- | tvix/nix-compat-derive/src/ser.rs | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/tvix/nix-compat-derive/src/de.rs b/tvix/nix-compat-derive/src/de.rs index e678b50b0533..d9779713dfaa 100644 --- a/tvix/nix-compat-derive/src/de.rs +++ b/tvix/nix-compat-derive/src/de.rs @@ -58,12 +58,12 @@ fn nix_deserialize_impl( quote! { #[automatically_derived] - impl #impl_generics #crate_path::nix_daemon::de::NixDeserialize for #ty #ty_generics + impl #impl_generics #crate_path::wire::de::NixDeserialize for #ty #ty_generics #where_clause { #[allow(clippy::manual_async_fn)] fn try_deserialize<R>(reader: &mut R) -> impl ::std::future::Future<Output=Result<Option<Self>, R::Error>> + Send + '_ - where R: ?Sized + #crate_path::nix_daemon::de::NixRead + Send, + where R: ?Sized + #crate_path::wire::de::NixRead + Send, { #body } @@ -253,7 +253,7 @@ fn nix_deserialize_try_from(crate_path: &Path, ty: &Type) -> TokenStream { quote_spanned! { ty.span() => async move { - use #crate_path::nix_daemon::de::Error; + use #crate_path::wire::de::Error; if let Some(item) = reader.try_read_value::<#ty>().await? { <Self as ::std::convert::TryFrom<#ty>>::try_from(item) .map_err(Error::invalid_data) @@ -269,7 +269,7 @@ fn nix_deserialize_from_str(crate_path: &Path, span: Span) -> TokenStream { quote_spanned! { span => async move { - use #crate_path::nix_daemon::de::Error; + use #crate_path::wire::de::Error; if let Some(buf) = reader.try_read_bytes().await? { let s = ::std::str::from_utf8(&buf) .map_err(Error::invalid_data)?; diff --git a/tvix/nix-compat-derive/src/ser.rs b/tvix/nix-compat-derive/src/ser.rs index 47ddfa39366d..52e777c28cf4 100644 --- a/tvix/nix-compat-derive/src/ser.rs +++ b/tvix/nix-compat-derive/src/ser.rs @@ -55,13 +55,13 @@ fn nix_serialize_impl( quote! { #[automatically_derived] - impl #impl_generics #crate_path::nix_daemon::ser::NixSerialize for #ty #ty_generics + impl #impl_generics #crate_path::wire::ser::NixSerialize for #ty #ty_generics #where_clause { async fn serialize<W>(&self, writer: &mut W) -> std::result::Result<(), W::Error> - where W: #crate_path::nix_daemon::ser::NixWrite + where W: #crate_path::wire::ser::NixWrite { - use #crate_path::nix_daemon::ser::Error as _; + use #crate_path::wire::ser::Error as _; #body } } @@ -207,7 +207,7 @@ fn nix_serialize_try_into(crate_path: &Path, ty: &Type) -> TokenStream { quote_spanned! { ty.span() => { - use #crate_path::nix_daemon::ser::Error; + use #crate_path::wire::ser::Error; let other : #ty = <Self as Clone>::clone(self).try_into().map_err(Error::unsupported_data)?; writer.write_value(&other).await } |