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()24 int main()
25 {
26   Dummy<int> d;
27   d.tester<true> (); // { dg-message "required" }
28 }
29 
30