This code compiles with MSVC, but not with GCC or Clang.
auto a = int{};
auto ua = unsigned int {};
I strongly suspect it might be legit C++, but that the mix between the ancient "C style / types with spaces" and the 50 differents ways of doing initialization in C++ make this a very hard job for compilers.
According to the C++ 20 Standard (7.6.1.4 Explicit type conversion (functional notation)):
So you need to write