<!DOCTYPE html>
<html>
<meta charset=utf-8>
<meta name="timeout" content="long">
<title>Test loops.</title>
<script src="js/test-harness.js"></script>
<script src="../js/webgpu-functions.js"></script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
const whlslTests = {};

whlslTests.mutuallyRecursiveStruct = async () =>
{
    await checkFail(
        `
            struct Foo {
                Bar bar;
            }
            struct Bar {
                Foo foo;
            }
        `);
        
}

// FIXME https://bugs.webkit.org/show_bug.cgi?id=199766: This should compile.
// whlslTests.mutuallyRecursiveStructWithPointersBroken = async () =>
// {
//     let program = `
//         struct Foo {
//             thread Bar* bar;
//             int foo;
//         }
//         struct Bar {
//             thread Foo* foo;
//             int bar;
//         }
//         int foo()
//         {
//             Foo foo;
//             Bar bar;
//             foo.foo = 564;
//             bar.bar = 53;
//             return foo.bar->bar - bar.foo->foo;
//         }
//     `;
//     assert_equals(await callIntFunction(program, "foo", []), 0);
// }

runTests(whlslTests);
</script>
</html>

