summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-26 12:08:19 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-26 12:08:19 +0100
commit77b35839cb56bbe8cdbc1430abe53cdca21f437b (patch)
treefeeaf1528319c0d2e18805230d27760850a60c0c /src/main/java
parenta9f618b86908aaff180573907f9096537aa839eb (diff)
Extract constants for std::io errors
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java4
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java
index b34206e..15e9e9d 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java
@@ -1071,9 +1071,9 @@ public class RustTransient0Generator implements Generator {
return mapErr(
result,
error -> new RustCallExpression(
- RustPath.global("std", "io", "Error", "new"),
+ RustTypes.IO_ERROR.addSegment(RustPathSegment.of("new")),
List.of(
- RustPath.global("std", "io", "ErrorKind", "InvalidData"),
+ RustTypes.IO_ERROR_KIND_INVALID_DATA,
createSubError.apply(error)
)
)
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java
index 1dea2b0..3b55420 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java
@@ -31,6 +31,9 @@ public class RustTypes {
.withArgs(List.of(keyType, valueType));
}
+ public static RustPath IO_ERROR = RustPath.global("std", "io", "Error");
+ public static RustPath IO_ERROR_KIND = RustPath.global("std", "io", "ErrorKind");
+ public static RustPath IO_ERROR_KIND_INVALID_DATA = IO_ERROR_KIND.addSegment(RustPathSegment.of("InvalidData"));
public static RustPath IO_RESULT = RustPath.global("std", "io", "Result");
public static RustPath IO_RESULT_OK = IO_RESULT.addSegment(RustPathSegment.of("Ok"));