From 1b66a8553d5a0d774b6deababbb73b5130f9b944 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 1 Jun 2026 14:13:48 +0200 Subject: [PATCH] fix(checker): handle paths with no returns in functions --- midas/checker/checker.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/midas/checker/checker.py b/midas/checker/checker.py index 2b7f41d..1b71f3f 100644 --- a/midas/checker/checker.py +++ b/midas/checker/checker.py @@ -224,11 +224,14 @@ class Checker( for arg in pos_args + args + kw_args: env.define(arg.name, arg.type) - self.evaluate_block(stmt.body, env) + returned: bool = self.evaluate_block(stmt.body, env) inferred_return: Type = UnknownType() - if len(env.return_types) == 1: - inferred_return = list(env.return_types)[0] - elif len(env.return_types) > 1: + if not returned: + env.return_types.append(UnitType()) + return_types: set[Type] = set(env.return_types) + if len(return_types) == 1: + inferred_return = list(return_types)[0] + elif len(return_types) > 1: self.error( stmt.location, f"Mixed return types: {env.return_types}",