1139825Simp// Origin: PR c++/42766 2131903Smarcel// { dg-do compile } 3131903Smarcel 4131903Smarceltemplate<class T> class smart_pointer { 5131903Smarcelpublic: 6131903Smarcel operator T* () const { } 7131903Smarcel operator bool () const { } 8131903Smarcel operator bool () { } 9131903Smarcel}; 10131903Smarcelclass Context { }; 11131903Smarceltypedef smart_pointer<Context> ContextP; 12131903Smarcelclass SvnClient { 13131903Smarcel ~SvnClient(); 14131903Smarcel ContextP svnContext; 15131903Smarcel}; 16131903SmarcelSvnClient::~SvnClient() { 17131903Smarcel delete svnContext; 18131903Smarcel} 19131903Smarcel