1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s 2*67e74705SXin Li 3*67e74705SXin Li struct S; // expected-note 4{{forward declaration of 'S'}} 4*67e74705SXin Li 5*67e74705SXin Li struct T0 { 6*67e74705SXin Li S s; // expected-error{{field has incomplete type 'S'}} 7*67e74705SXin Li T0() = default; 8*67e74705SXin Li }; 9*67e74705SXin Li 10*67e74705SXin Li struct T1 { 11*67e74705SXin Li S s; // expected-error{{field has incomplete type 'S'}} 12*67e74705SXin Li T1(const T1&) = default; 13*67e74705SXin Li }; 14*67e74705SXin Li 15*67e74705SXin Li struct T2 { 16*67e74705SXin Li S s; // expected-error{{field has incomplete type 'S'}} 17*67e74705SXin Li T2& operator=(const T2&) = default; 18*67e74705SXin Li }; 19*67e74705SXin Li 20*67e74705SXin Li struct T3 { 21*67e74705SXin Li S s; // expected-error{{field has incomplete type 'S'}} 22*67e74705SXin Li ~T3() = default; 23*67e74705SXin Li }; 24