Fix comparison of Callable
s from callable_mp()
of the same method
#1294
+140
−31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1293
This duplicates a lot of code from
custom_method_pointer.h/cpp
in Godot. I finally understand why it does what it does in such a weird way. :-) The tl;dr version is that the size of C++ method pointers in undefined (as opposed to function pointers, which do have a defined size), so putting them in a struct and then looping over the data for comparison and hashes is the easiest, portable way to do that.Marking this as a draft for now, because it depends on PR #1280 which isn't merged yet