summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 -> {