SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

void deref_const() {
  int3 a = 0;
  thread int3* const p = a;
  int b = p[0];
  p[0] = 42;
}
void no_deref_const() {
  int3 a = 0;
  thread int3* const p = a;
  int b = p[0];
  p[0] = 42;
}
void deref_let() {
  int3 a = 0;
  thread int3* const p = a;
  int const i = 0;
  int b = p[i];
  p[0] = 42;
}
void no_deref_let() {
  int3 a = 0;
  thread int3* const p = a;
  int const i = 0;
  int b = p[i];
  p[0] = 42;
}
void deref_var() {
  int3 a = 0;
  thread int3* const p = a;
  int i = 0;
  int b = p[i];
  p[0] = 42;
}
void no_deref_var() {
  int3 a = 0;
  thread int3* const p = a;
  int const i = 0;
  int b = p[i];
  p[0] = 42;
}
kernel void tint_symbol() {
  deref_const();
  no_deref_const();
  deref_let();
  no_deref_let();
  deref_var();
  no_deref_var();
}
program_source:6:22: error: cannot initialize a variable of type 'int3 *const' with an lvalue of type 'int3' (vector of 3 'int' values)
  thread int3* const p = a;
                     ^   ~
program_source:7:7: error: cannot initialize a variable of type 'int' with an lvalue of type 'int3' (vector of 3 'int' values)
  int b = p[0];
      ^   ~~~~
program_source:12:22: error: cannot initialize a variable of type 'int3 *const' with an lvalue of type 'int3' (vector of 3 'int' values)
  thread int3* const p = a;
                     ^   ~
program_source:13:7: error: cannot initialize a variable of type 'int' with an lvalue of type 'int3' (vector of 3 'int' values)
  int b = p[0];
      ^   ~~~~
program_source:18:22: error: cannot initialize a variable of type 'int3 *const' with an lvalue of type 'int3' (vector of 3 'int' values)
  thread int3* const p = a;
                     ^   ~
program_source:20:7: error: cannot initialize a variable of type 'int' with an lvalue of type 'int3' (vector of 3 'int' values)
  int b = p[i];
      ^   ~~~~
program_source:25:22: error: cannot initialize a variable of type 'int3 *const' with an lvalue of type 'int3' (vector of 3 'int' values)
  thread int3* const p = a;
                     ^   ~
program_source:27:7: error: cannot initialize a variable of type 'int' with an lvalue of type 'int3' (vector of 3 'int' values)
  int b = p[i];
      ^   ~~~~
program_source:32:22: error: cannot initialize a variable of type 'int3 *const' with an lvalue of type 'int3' (vector of 3 'int' values)
  thread int3* const p = a;
                     ^   ~
program_source:34:7: error: cannot initialize a variable of type 'int' with an lvalue of type 'int3' (vector of 3 'int' values)
  int b = p[i];
      ^   ~~~~
program_source:39:22: error: cannot initialize a variable of type 'int3 *const' with an lvalue of type 'int3' (vector of 3 'int' values)
  thread int3* const p = a;
                     ^   ~
program_source:41:7: error: cannot initialize a variable of type 'int' with an lvalue of type 'int3' (vector of 3 'int' values)
  int b = p[i];
      ^   ~~~~

