use serde::Serializer; use std::os::unix::prelude::*; pub trait SerializeWithFds { fn serialize(&self, serializer: SerializerWithFds) -> Result where Ser: Serializer; } #[derive(Debug)] pub struct SerializerWithFds<'fds, Ser> { pub serializer: Ser, pub fds: &'fds mut Vec, } impl<'fds, Ser> SerializerWithFds<'fds, Ser> { pub fn new(fds: &'fds mut Vec, serializer: Ser) -> Self { Self { serializer, fds } } }