1 /* When assigning function pointers, allow for covariant return types
2 and contravariant argument types. */
3 /* { dg-do compile } */
4 #include <objc/Object.h>
8 Object *ExternFunc (Object *filePath, Object *key);
9 typedef id FuncSignature (Object *arg1, Derived *arg2);
11 @interface Derived: Object
12 + (void)registerFunc:(FuncSignature *)function;
17 [Derived registerFunc: ExternFunc];