From ec346278c8f5155d7c044a26415cd4489d71a0af Mon Sep 17 00:00:00 2001 From: A404M Date: Mon, 7 Apr 2025 19:12:17 +0330 Subject: speed improvements --- code/main.felan | 9 +-------- src/compiler/ast-tree.c | 11 +++++------ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/code/main.felan b/code/main.felan index 667adbe..f1e224c 100644 --- a/code/main.felan +++ b/code/main.felan @@ -24,16 +24,9 @@ array :: (t:type) -> type { }; }; -array2 :: (t:type) -> type { - return struct { - ptr : *t; - length : usize; - }; -}; - array_int :: array(u64); array_int1 :: array(u64); -array_int2 :: array2(u64); +array_int2 :: array(i64); main :: () -> void { print_u64 (if array_int == array_int1 1 else 0); diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c index d014f4a..5fa13ab 100644 --- a/src/compiler/ast-tree.c +++ b/src/compiler/ast-tree.c @@ -3517,12 +3517,11 @@ bool setTypesFunctionCall(AstTree *tree, AstTreeSetTypesHelper helper) { bool setTypesVariable(AstTree *tree, AstTreeSetTypesHelper helper) { AstTreeVariable *metadata = tree->metadata; - if (setTypesAstVariable(metadata, helper)) { - tree->type = copyAstTree(metadata->type); - return true; - } else { + if (!setTypesAstVariable(metadata, helper)) { return false; } + tree->type = copyAstTree(metadata->type); + return true; } bool setTypesOperatorAssign(AstTree *tree, AstTreeSetTypesHelper helper) { @@ -3627,9 +3626,9 @@ bool setTypesOperatorDereference(AstTree *tree, AstTreeSetTypesHelper helper) { } bool setTypesVariableDefine(AstTree *tree, AstTreeSetTypesHelper helper) { - AstTreeVariable *metadata = tree->metadata; + (void)helper; tree->type = &AST_TREE_VOID_TYPE; - return setTypesAstVariable(metadata, helper); + return true; } bool setTypesAstVariable(AstTreeVariable *variable, -- cgit v1.2.3