// RUN: %clang_cc1 -fsyntax-only -verify %s struct string {}; class StringPiece; // expected-note {{forward declaration of 'StringPiece'}} \ // expected-note {{forward declaration of 'StringPiece'}} struct Test { void expectStringPiece(const StringPiece& blah) {}; // expected-note {{passing argument to parameter 'blah' here}} void test(const string& s) { expectStringPiece(s); // expected-error {{no viable conversion from 'const string' to incomplete type 'const StringPiece'}} } }; struct TestStatic { static void expectStringPiece(const StringPiece& blah) {}; // expected-note {{passing argument to parameter 'blah' here}} static void test(const string& s) { expectStringPiece(s); // expected-error {{no viable conversion from 'const string' to incomplete type 'const StringPiece'}} } };