summaryrefslogtreecommitdiffstats
path: root/tests/initializer-list
diff options
context:
space:
mode:
Diffstat (limited to 'tests/initializer-list')
-rw-r--r--tests/initializer-list/existential-is-not-c-like.slang21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/initializer-list/existential-is-not-c-like.slang b/tests/initializer-list/existential-is-not-c-like.slang
new file mode 100644
index 000000000..1058033c9
--- /dev/null
+++ b/tests/initializer-list/existential-is-not-c-like.slang
@@ -0,0 +1,21 @@
+// Test that in Slang 2026, it is no longer valid to default initialize an existential value.
+#lang 2026
+
+//TEST:SIMPLE(filecheck=CHECK): -target spirv
+interface IBSDF
+{
+ float3 eval(float3 wi, float3 wo);
+}
+
+struct ShaderGraph
+{
+ IBSDF bsdf_stack[8]; // Intentionally uninitialized.
+ int next_bsdf = 0; // must be zero.
+}
+
+[numthreads(1,1,1)]
+void main()
+{
+ // CHECK: ([[# @LINE+1]]): error
+ ShaderGraph sg = {};
+} \ No newline at end of file