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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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