Fix blank first line if no headers emitted
diff --git a/gen/include.rs b/gen/include.rs
index a7657e4..b19a097 100644
--- a/gen/include.rs
+++ b/gen/include.rs
@@ -26,7 +26,7 @@
}
}
-#[derive(Default)]
+#[derive(Default, PartialEq)]
pub struct Includes {
custom: Vec<String>,
pub array: bool,
@@ -74,6 +74,9 @@
if self.type_traits {
writeln!(f, "#include <type_traits>")?;
}
+ if *self != Self::default() {
+ writeln!(f)?;
+ }
Ok(())
}
}
diff --git a/gen/out.rs b/gen/out.rs
index 124816f..2a5b17d 100644
--- a/gen/out.rs
+++ b/gen/out.rs
@@ -53,14 +53,18 @@
fn write_str(&mut self, s: &str) -> fmt::Result {
if !s.is_empty() {
if !self.blocks_pending.is_empty() {
- self.content.push(b'\n');
+ if !self.content.is_empty() {
+ self.content.push(b'\n');
+ }
for block in self.blocks_pending.drain(..) {
self.content.extend_from_slice(block.as_bytes());
self.content.extend_from_slice(b" {\n");
}
self.section_pending = false;
} else if self.section_pending {
- self.content.push(b'\n');
+ if !self.content.is_empty() {
+ self.content.push(b'\n');
+ }
self.section_pending = false;
}
self.content.extend_from_slice(s.as_bytes());