Implemented arrays unevaling

This commit is contained in:
Cerber Ursi
2021-11-27 19:10:25 +07:00
parent 1e7307876a
commit abd8c2b341
5 changed files with 54 additions and 5 deletions
+5
View File
@@ -0,0 +1,5 @@
pub trait FromTuple<T> {
fn from_tuple(tuple: T) -> Self;
}
include!(concat!(env!("OUT_DIR"), "/from_tuple.rs"));
+2
View File
@@ -36,4 +36,6 @@
pub mod error;
pub mod ser;
pub mod funcs;
pub mod convert;
pub use funcs::{to_file, to_out_dir, to_string, write};
+5 -5
View File
@@ -201,8 +201,8 @@ impl<W: Write> ser::Serializer for &mut Uneval<W> {
Ok(self.start_sub())
}
fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple, Self::Error> {
write!(self.writer, "(")?;
fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple, Self::Error> {
write!(self.writer, "::uneval::convert::convert_tuple_{}((", len)?;
Ok(self.start_sub())
}
@@ -280,7 +280,7 @@ impl<W: Write> ser::SerializeTuple for &mut Uneval<W> {
}
fn end(self) -> SerResult {
write!(self.writer, ")")?;
write!(self.writer, "))")?;
Ok(())
}
}
@@ -358,7 +358,7 @@ impl<W: Write> ser::SerializeStruct for &mut Uneval<W> {
T: serde::Serialize,
{
self.comma()?;
write!(self.writer, "{}:", key)?;
write!(self.writer, "{}: ", key)?;
value.serialize(&mut **self)?;
Ok(())
}
@@ -381,7 +381,7 @@ impl<W: Write> ser::SerializeStructVariant for &mut Uneval<W> {
T: serde::Serialize,
{
self.comma()?;
write!(self.writer, "{}:", key)?;
write!(self.writer, "{}: ", key)?;
value.serialize(&mut **self)?;
Ok(())
}