summaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-06-30 21:03:46 +0100
committerMichael Williamson <mike@zwobble.org>2026-06-30 21:03:46 +0100
commitf9ee7b64ea05027d53e08771e5b87dd18b6374ab (patch)
tree580d66563fe611b862184df4450d636552ad7d1a /src/main/java/org/zwobble
parent9d8de73eedc0f40ecb0c917942908d3b43b5df7c (diff)
Support lists in rust-types
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java
index e03ae14..776e401 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java
@@ -107,7 +107,12 @@ public class RustTypesGenerator implements Generator {
private RustType generateRustTypeExpression(Type type) {
return switch (type) {
case ConstructedNativeType constructedNativeType -> {
- throw new UnsupportedOperationException("TODO");
+ // TODO: avoid cast
+ var rustType = (RustTypePath) generateRustTypeExpression(constructedNativeType.constructor().genericType());
+ var rustArgs = constructedNativeType.args().stream()
+ .map(arg -> generateRustTypeExpression(arg))
+ .toList();
+ yield rustType.withArgs(rustArgs);
}
case EnumType enumType -> {