1// RUN: %clang_cc1 -fsyntax-only -verify %s 2// expected-no-diagnostics 3 4template<class T> 5class TNSAutoRef 6{ 7public: 8 TNSAutoRef(T t) 9 : fRef(t) 10 { } 11 12 ~TNSAutoRef() 13 { } 14 15 operator T() const 16 { return fRef; } 17 18 T Get() const 19 { return fRef; } 20 21private: 22 T fRef; 23}; 24 25@interface NSObject 26- (id) alloc; 27- (id)init; 28@end 29 30@interface TFoo : NSObject 31- (void) foo; 32@end 33 34@implementation TFoo 35- (void) foo {} 36@end 37 38@interface TBar : NSObject 39- (void) foo; 40@end 41 42@implementation TBar 43- (void) foo {} 44@end 45 46int main () { 47 TNSAutoRef<TBar*> bar([[TBar alloc] init]); 48 [bar foo]; 49 return 0; 50} 51