#zig build-obj {
--name test -fno-emit-bin
-Mroot=test.zig
#}

#write test.zig {
fn do_the_thing(func: *const fn (arg: i32) void) void {
    _ = func;
}
fn bar(arg: bool) void {
    _ = arg;
}
export fn entry() void {
    do_the_thing(bar);
}
#}
#update
#check errors {
test.zig:8:18: error: expected type '*const fn (i32) void', found '*const fn (bool) void'
test.zig:8:18: note: pointer type child 'fn (bool) void' cannot cast into pointer type child 'fn (i32) void'
test.zig:8:18: note: parameter 0 'bool' cannot cast into 'i32'
#}
