20 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s2// PR96153 4struct Resource {5 void doit();6};7 8template<int x> struct Lock {9 ~Lock() { int a[x]; } // expected-error {{declared as an array with a negative size}}10 Resource* operator->() { return 0; }11};12 13struct Accessor {14 Lock<-1> operator->();15};16 17// Make sure we try to instantiate the destructor for Lock here18void f() { Accessor acc; acc->doit(); } // expected-note {{requested here}}19 20