// PR c++/57196 // { dg-require-effective-target c++11 } #include template struct set { set() = default; set(std::initializer_list){} }; struct string { string(const char*){} ~string(){} }; typedef decltype(sizeof(0)) size_t; template struct EqHelper { }; int IsNullLiteralHelper(...); void Fn() { EqHelper{1})> eq1; // ok EqHelper())> eq2; // ok EqHelper{"foo"})> eq3; // error }