| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| // RUN: %clang_cc1 -x objective-c++ -fsyntax-only -verify %s | |
| // expected-no-diagnostics | |
| // rdar://10667659 | |
| @protocol NSCopying @end | |
| @interface NSString <NSCopying> | |
| @end | |
| void takeId(id test) {} | |
| void takeCopyableId(id<NSCopying> test) {} | |
| id<NSCopying> Test () { | |
| NSString const *constantString = @"Test"; | |
| takeId(constantString); | |
| takeCopyableId(constantString); | |
| id ID = constantString; | |
| id<NSCopying> IDQNSCopying = constantString; | |
| return constantString; | |
| } |