fix(checker): infer return match calls

This commit is contained in:
2026-08-01 23:33:52 +02:00
parent f267e8c3cb
commit 91aa601464
2 changed files with 39 additions and 0 deletions
+4
View File
@@ -5977,6 +5977,10 @@ infer_statements :: proc(
_ = infer_expr(checker, statement.expr, locals^[:], pkg, file, demanded, local_types)
}
case .Return:
if statement.value_control_flow {
infer_statements(checker, statement.body, locals, local_types, pkg, file, demanded, result, result_hint)
continue
}
if statement.expr != ast.INVALID_EXPR {
returned := infer_expr(checker, statement.expr, locals^[:], pkg, file, demanded, local_types, result_hint)
if is_runtime_type(checker, result_hint) {