//TEST(compute):COMPARE_COMPUTE(filecheck-buffer=BUF): -shaderobj -output-using-type //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer interface From { __init(const X x); } extension float: From { __init(const float x) { this = x; } } T test>(float v) { T u; u = T(5.0f); return u; } RWStructuredBuffer outputBuffer; [numthreads(1,1,1)] void computeMain() { float v = test(5.0); //BUF: 5.0 outputBuffer[0] = v; }