summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-24 02:04:32 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-01-24 02:04:32 +0000
commitf38a4868b6585a28e4dee23fd595cdc192dbde00 (patch)
tree9d76c710704271c74205d6814855181f416f7ead /src
parent3df7cada4c3d050a01980afffdbfc0fc60be0fb5 (diff)
Fix for #98
Diffstat (limited to 'src')
-rw-r--r--src/codegen/codegen.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/codegen/codegen.c b/src/codegen/codegen.c
index ebbfdb6..706d613 100644
--- a/src/codegen/codegen.c
+++ b/src/codegen/codegen.c
@@ -655,6 +655,19 @@ void codegen_expression(ParserContext *ctx, ASTNode *node, FILE *out)
}
}
+ if (!is_slice_struct && !node->index.array->type_info && !node->index.array->resolved_type)
+ {
+ char *inferred = infer_type(ctx, node->index.array);
+ if (inferred && strncmp(inferred, "Slice_", 6) == 0)
+ {
+ is_slice_struct = 1;
+ }
+ if (inferred)
+ {
+ free(inferred);
+ }
+ }
+
if (is_slice_struct)
{
if (node->index.array->type == NODE_EXPR_VAR)