diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/diagnostics/extension-unreferenced-generic-param.slang | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/diagnostics/extension-unreferenced-generic-param.slang b/tests/diagnostics/extension-unreferenced-generic-param.slang new file mode 100644 index 000000000..80aba4adb --- /dev/null +++ b/tests/diagnostics/extension-unreferenced-generic-param.slang @@ -0,0 +1,26 @@ +//TEST:SIMPLE(filecheck=CHECK): -target spirv +// Test unreferenced generic parameters in extensions + +// Error case 1: Simple unreferenced generic parameter +// CHECK: ([[# @LINE+1]]): error 30855: +extension<T> int +{ + void foo() {} +} + +// Error case 2: Multiple generic parameters, some unused +// CHECK: ([[# @LINE+1]]): error 30855: +extension<T, U> vector<T, 3> +{ + void bar() {} +} + +// Error case 3: Parameters only used in inheritance declaration should be errors +interface IFooGeneric<S> {} +struct MyType {} + +// CHECK: ([[# @LINE+1]]): error 30855: +extension<S> MyType : IFooGeneric<S> +{ + void shouldFail() {} +} |
