1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 template<typename
> struct PassRefPtr
{ };
3 template<typename T
> struct RefPtr
{
4 RefPtr
& operator=(const RefPtr
&) { int a
[sizeof(T
) ? -1 : -1];} // expected-error 2 {{array with a negative size}}
5 RefPtr
& operator=(const PassRefPtr
<T
>&);
8 struct A
{ RefPtr
<int> a
; }; // expected-note {{instantiation of member function 'RefPtr<int>::operator=' requested here}}
9 struct B
: RefPtr
<float> { }; // expected-note {{in instantiation of member function 'RefPtr<float>::operator=' requested here}}