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