// RUN: %clang_cc1 -fsyntax-only -verify -Wselector-type-mismatch %s __attribute__((objc_root_class)) @interface Foo @property() int dynamic_property; @property(direct) int direct_property; // expected-note {{previous declaration is here}} @end @implementation Foo @dynamic dynamic_property; @dynamic direct_property; // expected-error {{direct property cannot be @dynamic}} @end @interface Foo (Bar) @property() int dynamic_category_property; @property(direct) int direct_category_property; // expected-note {{previous declaration is here}} @end @implementation Foo (Bar) @dynamic dynamic_category_property; @dynamic direct_category_property; // expected-error {{direct property cannot be @dynamic}} @end