// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class -Wobjc-messaging-id %s @interface CallMeMaybe - (void)doThing:(int)intThing; @property int thing; @end template<typename T> void instantiate(const T &x) { [x setThing: 22]; // expected-warning {{messaging unqualified id}} } void fn() { id myObject; [myObject doThing: 10]; // expected-warning {{messaging unqualified id}} [myObject setThing: 11]; // expected-warning {{messaging unqualified id}} instantiate(myObject); // expected-note {{in instantiation}} }