Skip to content

Recent change to class_getMethodImplementation() breaks gnustep-base NSProxy (and other code) #392

Description

@rfm

The old behavior was to return a function which could be used to call a method (the method implementation), or NULL when the receiver does not implement the method.
The new behavior is (when the receiver forwards) to return the forwarding hook (__objc_msg_forward2) which, instead of calling the method, returns the method implementation.
That breaks any code which expects to be able to use the returned function to call a method.
IMO the correct behavior is the original behavior or to return a function which calls __objc_msg_forward2, then calls the function returned by __objc_msg_forward2, and returns the result.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions