summaryrefslogtreecommitdiff
path: root/tests/current-bugs/generic/mutating-interface.slang
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-12-21 16:35:34 -0500
committerGitHub <noreply@github.com>2021-12-21 16:35:34 -0500
commit447b7e0e2be031409b1421b49c81f020353bf7c5 (patch)
tree721a1e892b4dc0bcc8c62d7b7e3f9dbb843bf958 /tests/current-bugs/generic/mutating-interface.slang
parentd7ed829c3f85514fc08a12a5701d64390b31040c (diff)
Language experiments (#2068)
* #include an absolute path didn't work - because paths were taken to always be relative. * Moved to experiments. Added some more tests. * More tests around associated types. * Return interface tests. * More tests.
Diffstat (limited to 'tests/current-bugs/generic/mutating-interface.slang')
-rw-r--r--tests/current-bugs/generic/mutating-interface.slang51
1 files changed, 0 insertions, 51 deletions
diff --git a/tests/current-bugs/generic/mutating-interface.slang b/tests/current-bugs/generic/mutating-interface.slang
deleted file mode 100644
index 2198b56b2..000000000
--- a/tests/current-bugs/generic/mutating-interface.slang
+++ /dev/null
@@ -1,51 +0,0 @@
-//DISABLE_TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -shaderobj
-
-/* A test using interfaces with mutation.
-
-Doesn't work because
-
-.slang(18): error 30050: mutating method 'lock' cannot be called on an immutable value
- lockable.lock();
-
-If that section is removed we get on `doThing(count)`
-
-.slang(31): error 30047: argument passed to parameter '0' must be l-value.
-
-Which perhaps means an inteface cannot be used as a lvalue?
-*/
-
-//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):out,name outputBuffer
-RWStructuredBuffer<int> outputBuffer;
-
-interface ILockable
-{
- [mutating] void lock();
- [mutating] void unlock();
-};
-
-struct IntCount : ILockable
-{
- [mutating] void lock() { count ++; }
- [mutating] void unlock() { --count; }
- int count = 0;
-};
-
-int doThing(inout ILockable lockable)
-{
- lockable.lock();
- // do something...
-
- lockable.unlock();
- return 0;
-}
-
-[numthreads(4, 1, 1)]
-void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
-{
- int index = dispatchThreadID.x;
-
- IntCount count;
- doThing(count);
-
- outputBuffer[dispatchThreadID.x] = count.count;
-} \ No newline at end of file