in serde-generate/src/golang.rs [109:145]
fn output_preamble(&mut self, registry: &Registry) -> Result<()> {
writeln!(
self.out,
"package {}\n\n",
self.generator.config.module_name
)?;
// Go does not support disabling warnings on unused imports.
if registry.is_empty() {
return Ok(());
}
writeln!(self.out, "import (")?;
self.out.indent();
if self.generator.config.serialization
&& (Self::has_enum(registry) || !self.generator.config.encodings.is_empty())
{
writeln!(self.out, "\"fmt\"")?;
}
if self.generator.config.serialization || Self::has_int128(registry) {
writeln!(self.out, "\"{}/serde\"", self.generator.serde_module_path)?;
}
if self.generator.config.serialization {
for encoding in &self.generator.config.encodings {
writeln!(
self.out,
"\"{}/{}\"",
self.generator.serde_module_path,
encoding.name()
)?;
}
}
for path in self.generator.config.external_definitions.keys() {
writeln!(self.out, "\"{}\"", path)?;
}
self.out.unindent();
writeln!(self.out, ")\n")?;
Ok(())
}