From 77b35839cb56bbe8cdbc1430abe53cdca21f437b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 26 Jul 2026 12:08:19 +0100 Subject: Extract constants for std::io errors --- .../output/generators/rusttransient0/RustTransient0Generator.java | 4 ++-- .../org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble') 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")); -- cgit v1.2.3