1 struct ImmortalRefType { 2 ImmortalRefType * methodReturningFrt__(void); 3 ImmortalRefType * methodReturningFrt_returns_unretained(void); 4 ImmortalRefType * methodReturningFrt_returns_retained(void); 5 }; 6 7 ImmortalRefType * functionReturningFrt__(void); 8 ImmortalRefType * functionReturningFrt_returns_unretained(void); 9 ImmortalRefType * functionReturningFrt_returns_retained(void); 10 11 12 struct RefCountedType { int value; }; 13 14 inline void RCRetain(RefCountedType *x) { x->value++; } 15 inline void RCRelease(RefCountedType *x) { x->value--; } 16 17 struct NonCopyableType { int value; }; 18 struct CopyableType { int value; }; 19 20 struct NonEscapableType { int value; }; 21 struct EscapableType { int value; }; 22