diff --git a/pbjson-build/src/generator.rs b/pbjson-build/src/generator.rs index 1f450c2..da6f68f 100644 --- a/pbjson-build/src/generator.rs +++ b/pbjson-build/src/generator.rs @@ -39,6 +39,7 @@ fn write_serialize_start(indent: usize, rust_type: &str, writer: &mut writer, r#"{indent}impl serde::Serialize for {rust_type} {{ {indent} #[allow(deprecated)] +{indent} #[allow(unused_variables)] {indent} fn serialize(&self, serializer: S) -> std::result::Result {indent} where {indent} S: serde::Serializer, diff --git a/pbjson-build/src/generator/message.rs b/pbjson-build/src/generator/message.rs index 2822f56..3781624 100644 --- a/pbjson-build/src/generator/message.rs +++ b/pbjson-build/src/generator/message.rs @@ -264,12 +264,15 @@ fn write_serialize_variable( writer, "{}}}).collect::, _>>()", Indent(indent + 1) - ) + )?; + writeln!(writer, "?") + } + _ => { + write!(writer, "self.{}()", field.rust_field_name()) } - _ => write_decode_variant(resolver, indent + 1, variable.as_unref, path, writer), }?; - writeln!(writer, "?;")?; + writeln!(writer, ";")?; writeln!( writer, "{}struct_ser.serialize_field(\"{}\", &v)?;",