let (typed_ast, _) = type_check_and_annotate_ast ~symbol_table:(Some symbol_table) ast in
check bool"Complex function pointer type checking should succeed"true (List.length typed_ast >0)
with
|e ->
let msg =Printexc.to_string e in
fail ("Complex function pointer type checking failed: "^ msg)
(** Test function pointer call IR generation - This test catches the bug where function pointer calls were incorrectly treated as direct function calls *)