| // PR c++/71747 | |
| // { dg-do compile { target c++11 } } | |
| template < bool > struct A | |
| { | |
| typedef int type; | |
| constexpr bool operator() () const | |
| { | |
| return true; | |
| } | |
| }; | |
| template < bool, typename = int > struct F; | |
| template < bool X > | |
| // should be: struct F < X, typename A < A < X > {} () >::type > | |
| struct F < X, typename A < F < X > {} () >::type > | |
| { | |
| }; | |
| F < true > f; // { dg-error "" } |