From 3666c66e26f90b10031578e9c8b8f2ea118aecf9 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 17 Jan 2025 08:55:57 -0800 Subject: Fix prebound parameter pack - argument list matching logic. (#6111) * Fix prebound parameter pack - argument list matching logic. * Move tests. * Fix. --- .../generics/prebound-variadic-pack.slang | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/language-feature/generics/prebound-variadic-pack.slang (limited to 'tests/language-feature/generics/prebound-variadic-pack.slang') diff --git a/tests/language-feature/generics/prebound-variadic-pack.slang b/tests/language-feature/generics/prebound-variadic-pack.slang new file mode 100644 index 000000000..01edce8f9 --- /dev/null +++ b/tests/language-feature/generics/prebound-variadic-pack.slang @@ -0,0 +1,28 @@ +//TEST:SIMPLE(filecheck=CHECK): -target spirv + +struct Set +{ + Tuple data; + void f(expand each T v){} + void h(U x){} + void g(expand each T d) + { + //CHECK-NOT: ([[# @LINE+1]]): error + f(expand each d); // OK + + //CHECK-NOT: ([[# @LINE+1]]): error + h(54); // OK, specializing free-form parameter U. + + //CHECK: ([[# @LINE+1]]): error + f(); // error, cannot call f without arguments. + + //CHECK: ([[# @LINE+1]]): error + f(5); // error, cannot call f with different type pack. + } +} + +[numthreads(1,1,1)] +void computeMain() +{ + Set v; +} \ No newline at end of file -- cgit v1.2.3