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