1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3struct string {}; 4 5class StringPiece; // expected-note {{forward declaration of 'StringPiece'}} \ 6 // expected-note {{forward declaration of 'StringPiece'}} 7 8struct Test { 9 void expectStringPiece(const StringPiece& blah) {}; // expected-note {{passing argument to parameter 'blah' here}} 10 11 void test(const string& s) { 12 expectStringPiece(s); // expected-error {{no viable conversion from 'const string' to incomplete type 'const StringPiece'}} 13 } 14}; 15 16struct TestStatic { 17 static void expectStringPiece(const StringPiece& blah) {}; // expected-note {{passing argument to parameter 'blah' here}} 18 19 static void test(const string& s) { 20 expectStringPiece(s); // expected-error {{no viable conversion from 'const string' to incomplete type 'const StringPiece'}} 21 } 22}; 23 24