#include <metal_stdlib>
#include <simd/simd.h>

using namespace metal;

struct Foo
{
    packed_float4 a;
};

struct Bar
{
    Foo a;
};

struct Baz
{
    Bar a;
};

struct SSBOScalar
{
    float v;
    Baz baz;
};

constant uint3 gl_WorkGroupSize [[maybe_unused]] = uint3(1u);

kernel void main0(device SSBOScalar& buffer_scalar [[buffer(0)]])
{
    buffer_scalar.baz.a.a.a[3u] = 10.0;
}

