| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| // PR9615 | |
| struct Resource { | |
| void doit(); | |
| }; | |
| template<int x> struct Lock { | |
| ~Lock() { int a[x]; } // expected-error {{declared as an array with a negative size}} | |
| Resource* operator->() { return 0; } | |
| }; | |
| struct Accessor { | |
| Lock<-1> operator->(); | |
| }; | |
| // Make sure we try to instantiate the destructor for Lock here | |
| void f() { Accessor acc; acc->doit(); } // expected-note {{requested here}} | |