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