1 // PR c++/19004 2 3 template<typename T> 4 struct Dummy 5 { evilDummy6 void evil() 7 { 8 this->template tester<true>(); 9 } 10 11 template<bool B> testerDummy12 void tester() 13 { 14 bar<evil>()(); // { dg-error "constant|template|convert" } 15 } 16 template<bool B> 17 struct bar 18 { operatorDummy::bar19 void operator()() 20 { } 21 }; 22 }; 23 main()24int main() 25 { 26 Dummy<int> d; 27 d.tester<true> (); // { dg-message "required" } 28 } 29 30