// Build with "cl.exe /Z7 /GR- /GS- /GX- every-class.cpp /link /debug:full /nodefaultlib /incremental:no /entry:main" #include // clang-format off void *__purecall = 0; void __cdecl operator delete(void *, unsigned int) {} void __cdecl operator delete(void *, unsigned __int64) {} struct Nothing {}; struct Constructor { Constructor() {} }; struct Assignment { Assignment &operator=(Assignment Other) { return *this; } }; struct Cast { operator int() { return 42; } }; struct Nested { struct F {}; }; struct Operator { int operator+(int X) { return 42; } }; class Class {}; union Union {}; enum class Enum {A}; template void f(T t) {} int main(int argc, char **argv) { struct Scoped {}; struct { } Anonymous; f(Nothing{}); f(Constructor{}); f(Assignment{}); f(Cast{}); f(Nested{}); f(Operator{}); f(Nested::F{}); f(Scoped{}); f(Class{}); f(Union{}); f(Anonymous); f(Enum::A); f(Nothing{}); f(Nothing{}); f(Nothing{}); f<__unaligned Nothing>(Nothing{}); return 0; }