ЧК
struct vec
{ int x;
vec(): x{} {}
vec(const vec&): x{} {}
};
void f( vec v ){}
int main()
{
f( vec( {} ) );
}
// in MSVC this works w/o copy elision (C++14), bug with C++17,20;// f( vec( vec{} ) ); // <-- this always works
// to reproduce the bug, vec constructor must take 0 or 2 arguments,
// i.e. "vec(int)" works, "vec()" and "vec(int,int)" fail