// RUN: clang -fsyntax-only -verify %s @interface A -(float) x; // expected-note {{declared at}} @property int x; // expected-error {{type of property 'x' does not match type of accessor 'x'}} @end @interface A (Cat) @property int moo; // expected-note {{previous definition is here}} @end @implementation A (Cat) -(int) moo { return 0; } -(void) setMoo: (float) x { // expected-warning {{conflicting types for 'setMoo:'}} } @end typedef int T[2]; typedef void (F)(void); @interface C @property(assign) T p2; // expected-error {{property cannot have array or function type 'T'}} @property(assign) F f2; // expected-error {{property cannot have array or function type 'F'}} @end