diff options
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttypes/RustTypesGenerator.java | 7 |
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 -> { |
