SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

struct a {
  int a;
};

void f() {
  a const a_1 = a{};
  a const b = a_1;
  a const a = a{};
  a const b_1 = a;
}
program_source:11:16: error: expected ';' at end of declaration
  a const a = a{};
               ^
               ;
program_source:12:4: error: expected ';' after expression
  a const b_1 = a;
   ^
   ;
program_source:12:11: error: C++ requires a type specifier for all declarations
  a const b_1 = a;
    ~~~~~ ^
program_source:11:15: warning: variable 'a' is uninitialized when used within its own initialization [-Wuninitialized]
  a const a = a{};
          ~   ^
program_source:12:3: warning: expression result unused [-Wunused-value]
  a const b_1 = a;
  ^

