From 83ea0992f329e1b8148b8c6e91c8ecf7154706f5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 2 Jul 2026 17:32:05 +0100 Subject: Add test specifically for writing empty Rust function --- .../hobgoblin/compiler/output/lang/rust/RustWriter.java | 2 +- .../compiler/output/lang/rust/RustWriterTests.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java index 60d7d60..b751fae 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java @@ -147,7 +147,7 @@ public class RustWriter implements AutoCloseable { this.writer.write("}"); } - private void writeAssociatedItem(RustAssociatedItem item) throws IOException { + void writeAssociatedItem(RustAssociatedItem item) throws IOException { switch (item) { case RustFunction function -> { writeFunction(function); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java index 9d1565c..1de04da 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java @@ -127,6 +127,19 @@ public class RustWriterTests { }""")); } + @Test + public void emptyFunction() throws IOException { + var rust = RustFunction.arbitrary() + .withName(new RustIdentifier("width")) + .build(); + + var string = write(writer -> writer.writeAssociatedItem(rust)); + + assertThat(string, equalTo(""" + fn width() { + }""")); + } + @Test public void emptyInherentImpl() throws IOException { var rust = RustInherentImpl.arbitrary().withType(RustTypePath.of("Square")).build(); -- cgit v1.2.3