about summary refs log tree commit diff
path: root/tvix/nix-compat/src/nix_daemon/ser/collections.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/nix-compat/src/nix_daemon/ser/collections.rs')
-rw-r--r--tvix/nix-compat/src/nix_daemon/ser/collections.rs94
1 files changed, 0 insertions, 94 deletions
diff --git a/tvix/nix-compat/src/nix_daemon/ser/collections.rs b/tvix/nix-compat/src/nix_daemon/ser/collections.rs
deleted file mode 100644
index 70c32e1c79ac..000000000000
--- a/tvix/nix-compat/src/nix_daemon/ser/collections.rs
+++ /dev/null
@@ -1,94 +0,0 @@
-use std::collections::BTreeMap;
-use std::future::Future;
-
-use super::{NixSerialize, NixWrite};
-
-impl<T> NixSerialize for Vec<T>
-where
-    T: NixSerialize + Send + Sync,
-{
-    #[allow(clippy::manual_async_fn)]
-    fn serialize<W>(&self, writer: &mut W) -> impl Future<Output = Result<(), W::Error>> + Send
-    where
-        W: NixWrite,
-    {
-        async move {
-            writer.write_value(&self.len()).await?;
-            for value in self.iter() {
-                writer.write_value(value).await?;
-            }
-            Ok(())
-        }
-    }
-}
-
-impl<K, V> NixSerialize for BTreeMap<K, V>
-where
-    K: NixSerialize + Ord + Send + Sync,
-    V: NixSerialize + Send + Sync,
-{
-    #[allow(clippy::manual_async_fn)]
-    fn serialize<W>(&self, writer: &mut W) -> impl Future<Output = Result<(), W::Error>> + Send
-    where
-        W: NixWrite,
-    {
-        async move {
-            writer.write_value(&self.len()).await?;
-            for (key, value) in self.iter() {
-                writer.write_value(key).await?;
-                writer.write_value(value).await?;
-            }
-            Ok(())
-        }
-    }
-}
-
-#[cfg(test)]
-mod test {
-    use std::collections::BTreeMap;
-    use std::fmt;
-
-    use hex_literal::hex;
-    use rstest::rstest;
-    use tokio::io::AsyncWriteExt as _;
-    use tokio_test::io::Builder;
-
-    use crate::nix_daemon::ser::{NixSerialize, NixWrite, NixWriter};
-
-    #[rstest]
-    #[case::empty(vec![], &hex!("0000 0000 0000 0000"))]
-    #[case::one(vec![0x29], &hex!("0100 0000 0000 0000 2900 0000 0000 0000"))]
-    #[case::two(vec![0x7469, 10], &hex!("0200 0000 0000 0000 6974 0000 0000 0000 0A00 0000 0000 0000"))]
-    #[tokio::test]
-    async fn test_write_small_vec(#[case] value: Vec<usize>, #[case] data: &[u8]) {
-        let mock = Builder::new().write(data).build();
-        let mut writer = NixWriter::new(mock);
-        writer.write_value(&value).await.unwrap();
-        writer.flush().await.unwrap();
-    }
-
-    fn empty_map() -> BTreeMap<usize, u64> {
-        BTreeMap::new()
-    }
-    macro_rules! map {
-        ($($key:expr => $value:expr),*) => {{
-            let mut ret = BTreeMap::new();
-            $(ret.insert($key, $value);)*
-            ret
-        }};
-    }
-
-    #[rstest]
-    #[case::empty(empty_map(), &hex!("0000 0000 0000 0000"))]
-    #[case::one(map![0x7469usize => 10u64], &hex!("0100 0000 0000 0000 6974 0000 0000 0000 0A00 0000 0000 0000"))]
-    #[tokio::test]
-    async fn test_write_small_btree_map<E>(#[case] value: E, #[case] data: &[u8])
-    where
-        E: NixSerialize + Send + PartialEq + fmt::Debug,
-    {
-        let mock = Builder::new().write(data).build();
-        let mut writer = NixWriter::new(mock);
-        writer.write_value(&value).await.unwrap();
-        writer.flush().await.unwrap();
-    }
-}