summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-19 21:53:16 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-19 21:53:16 +0100
commit698070f4cfda8137a087c4f786f4883ff4539444 (patch)
treeeb4693be82cd05a266d8027f7ea4c5df630557d8
parent526299753c3e19989b84e75b6d14eb1f43f1f546 (diff)
Extract function to generate Rust unwrap()
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java23
1 files changed, 12 insertions, 11 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 da3c449..4c5eff1 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
@@ -259,14 +259,11 @@ public class RustTransient0Generator implements Generator {
generateReaderReadExact(RustPath.of(len))
)
),
- Optional.of(methodCall(
+ Optional.of(unwrap(
new RustCallExpression(
RustPath.global("std", "string", "String", "from_utf8"),
List.of(RustPath.of(bytes))
- ),
- // TODO: remove unwrap
- RustIdentifier.of("unwrap"),
- List.of()
+ )
))
)
);
@@ -865,13 +862,17 @@ public class RustTransient0Generator implements Generator {
}
private RustExpression tryIntoOrUnwrap(RustExpression value) {
+ return unwrap(methodCall(
+ value,
+ RustIdentifier.of("try_into"),
+ List.of()
+ ));
+ }
+
+ private RustExpression unwrap(RustExpression value) {
+ // TODO: remove unwrap
return methodCall(
- methodCall(
- value,
- RustIdentifier.of("try_into"),
- List.of()
- ),
- // TODO: remove unwrap
+ value,
RustIdentifier.of("unwrap"),
List.of()
);