// Test that we allow type conformances whose base interface is generic. //TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-dx11 -compute -output-using-type //TEST(compute):COMPARE_COMPUTE_EX(filecheck-buffer=CHECK):-vk -compute -output-using-type interface IStack { IStack popN(); int get(); } struct StackImpl : IStack { // member 'popN' does not match interface requirement. StackImpl popN() { return StackImpl(); } int get() { return D; } } int helper>(T stack) { return stack.popN<2>().get(); } //TEST_INPUT: set outputBuffer = out ubuffer(data=[0 0 0 0], stride=4); RWStructuredBuffer outputBuffer; [numthreads(1, 1, 1)] void computeMain() { StackImpl<5> obj = StackImpl<5>(); // CHECK: 3 outputBuffer[0] = helper(obj); }