PR c++/51079, DR 495
[gcc.git] / gcc / testsuite / g++.dg / template / conv12.C
1 // PR c++/51079
2
3 #if __cplusplus > 199711L
4 struct C1
5 {
6 template <class T>
7 operator T() = delete; // { dg-message "declared here" "" { target c++11 } }
8 operator bool() { return false; }
9 } c1;
10
11 int ic1 = c1; // { dg-error "deleted" "" { target c++11 } }
12 int ac1 = c1 + c1; // { dg-error "deleted" "" { target c++11 } }
13 #endif
14
15 struct C2
16 {
17 private:
18 template <class T>
19 operator T(); // { dg-error "private" }
20 public:
21 operator bool() { return false; }
22 } c2;
23
24 int ic2 = c2; // { dg-error "" }
25 int ac2 = c2 + c2; // { dg-error "" }