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