I’m guessing func is a [*c] pointer? If yes, this is https://codeberg.org/ziglang/zig/issues/31888 (fixed on master, but unfortunately present in 0.16.0).
A workaround would be to cast func to a regular single-item * pointer first before dereferencing it when indexing into reserved (or just using a single-item instead of a c pointer for the ExecuteData.func field, which is probably a good idea anyway as c pointers should really only be used in code that’s been mechanically translated from c).