1// Origin: PR c++/42766
2// { dg-do compile }
3
4template<class T> class smart_pointer {
5public:
6    operator T* () const { }
7    operator bool () const { }
8    operator bool () { }
9};
10class Context { };
11typedef smart_pointer<Context> ContextP;
12class SvnClient  {
13    ~SvnClient();
14    ContextP svnContext;
15};
16SvnClient::~SvnClient() {
17    delete svnContext;
18}
19