// RUN: %clang_cc1 -fsyntax-only -verify %s
// expected-no-diagnostics
// rdar: // 7963410

template<class T>
class TNSAutoRef
{
public:
	TNSAutoRef(T t)
		:	fRef(t)
		{ }

	~TNSAutoRef()
		{  }

	operator T() const
		{ return fRef; }
	
	T Get() const
		{ return fRef; }

private:
	T fRef;
};

@interface NSObject
- (id) alloc;
- (id)init;
@end

@interface TFoo : NSObject
- (void) foo;
@end

@implementation TFoo
- (void) foo {}
@end

@interface TBar : NSObject
- (void) foo;
@end

@implementation TBar 
- (void) foo {}
@end

int main () {
	TNSAutoRef<TBar*> bar([[TBar alloc] init]);
	[bar foo];
	return 0;
}
