From 8c540e33fabad34fc5722cd5406ca0477dbf51ba Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 25 Jul 2026 23:22:28 +0100 Subject: Reuse RustTypes.STRING --- .../output/generators/rusttransient0/RustTransient0Generator.java | 3 ++- .../hobgoblin/compiler/output/lang/rust/ast/RustPathSegment.java | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/java') 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 9a3ef32..af28e96 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 @@ -6,6 +6,7 @@ import org.zwobble.hobgoblin.compiler.config.OutputConfig; import org.zwobble.hobgoblin.compiler.output.generators.Generator; import org.zwobble.hobgoblin.compiler.output.generators.rust.RustGenerator; import org.zwobble.hobgoblin.compiler.output.generators.rust.RustGeneratorConfig; +import org.zwobble.hobgoblin.compiler.output.lang.rust.RustTypes; import org.zwobble.hobgoblin.compiler.output.lang.rust.ast.*; import org.zwobble.hobgoblin.compiler.typechecker.TypesInfo; import org.zwobble.hobgoblin.compiler.types.*; @@ -261,7 +262,7 @@ public class RustTransient0Generator implements Generator { Optional.of( new RustTryPropagationExpression(mapErrToInvalidData( new RustCallExpression( - RustPath.global("std", "string", "String", "from_utf8"), + RustTypes.STRING.addSegment(RustPathSegment.of("from_utf8")), List.of(RustPath.of(bytes)) ) )) diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathSegment.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathSegment.java index c2c57d6..f0d4e70 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathSegment.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/ast/RustPathSegment.java @@ -38,6 +38,10 @@ public record RustPathSegment(org.zwobble.hobgoblin.compiler.output.lang.rust.as } // Custom area start: org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPathSegment body + public static RustPathSegment of(String name) { + return of(RustIdentifier.of(name)); + } + public static RustPathSegment of(RustIdentifier name) { return new RustPathSegment(new RustPathIdentSegmentIdentifier(name), Optional.empty()); } -- cgit v1.2.3