Hello, the729.
When I use non-constant arrays such as the attached code, the compilation succeeds. And when constantnesses of the caller and the callee are different, the following error happens:
Line (10) : ERROR--1: Problem with call expression in kernel: Mismatched resource type of gather array for argument 0
Statement: inner(b, (indexof(a)).x) in a = inner(b, (indexof(a)).x)
***Semantic check found 1 errors
kernel float4 inner(float4 b[], float i) { return b; } kernel void bad(out float4 a<>, float4 b[]) { a = inner(b, indexof(a).x); }