1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify %s 3*67e74705SXin Li// expected-no-diagnostics 4*67e74705SXin Li// rdar://10667659 5*67e74705SXin Li 6*67e74705SXin Li@protocol NSCopying @end 7*67e74705SXin Li 8*67e74705SXin Li@interface NSString <NSCopying> 9*67e74705SXin Li@end 10*67e74705SXin Li 11*67e74705SXin Livoid takeId(id test) {} 12*67e74705SXin Li 13*67e74705SXin Livoid takeCopyableId(id<NSCopying> test) {} 14*67e74705SXin Li 15*67e74705SXin Liid<NSCopying> Test () { 16*67e74705SXin Li NSString const *constantString = @"Test"; 17*67e74705SXin Li takeId(constantString); 18*67e74705SXin Li takeCopyableId(constantString); 19*67e74705SXin Li id ID = constantString; 20*67e74705SXin Li id<NSCopying> IDQNSCopying = constantString; 21*67e74705SXin Li return constantString; 22*67e74705SXin Li} 23