#include <metal_stdlib>
using namespace metal;

void deref() {
  int3 a = 0;
  thread int3* const p = (&a);
  int b = (*p)[0u];
  (*p)[0u] = 42;
}

void no_deref() {
  int3 a = 0;
  thread int3* const p = (&a);
  int b = (*p)[0u];
  (*p)[0u] = 42;
}

kernel void tint_symbol() {
  deref();
  no_deref();
}
