1 2 3 4 5 6 7 8
@protocol P0 @end @interface A <P0> @end id f0(int a, id<P0> x, A* p) { return a ? x : p; }