// PR c++/64665, DR 1467 | |
// { dg-do compile { target c++11 } } | |
#include <string> | |
bool Test1(bool); | |
bool Test1(std::string) = delete; | |
bool Test2(int) = delete; | |
bool Test2(std::initializer_list<int>); | |
struct S | |
{ | |
S(int _a) : a(_a) {} | |
private: | |
int a; | |
}; | |
bool Test3(int); | |
bool Test3(S) = delete; | |
bool Test4(bool) = delete; | |
bool Test4(std::initializer_list<std::string>); | |
int main () | |
{ | |
( Test1({"false"}) ); // { dg-error "narrowing" } | |
( Test2({123}) ); | |
( Test3({456}) ); | |
( Test4({"false"}) ); | |
} |