//TEST:SIMPLE(filecheck=CHECK): -target spirv struct ArrayLike { } __generic extension ArrayLike : IDifferentiable { } struct ExpectsDiff { } // test that using `ExpectsDiff>` is fine to the type system. // this means that we must have checked the extension for `ArrayLike` before // we check the `t3` parameter for `test`. void test(ExpectsDiff> t3) { } // CHECK: OpEntryPoint [numthreads(1, 1, 1)] void main() { ExpectsDiff> v = {}; test(v); }