-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve message sending #38
Merged
Merged
Commits on Oct 1, 2021
-
Add public
Message::send_super_message
method for dynamic selectorsAlso cuts down on the hoops we have to jump through from msg_send to reach the actual message sending
Configuration menu - View commit details
-
Copy full SHA for fabf442 - Browse repository at this point
Copy the full SHA fabf442View commit details -
Add helper trait
MessageReceiver
In Objective-C, having a null pointer receiver is valid, but with `msg_send!` it would be converted into a reference, which is undefined behavior. The reference was converted into a pointer immediately after, but it is still UB. There might also be a mutable reference somewhere else in the program, which would now be aliased. With this, we can now stop de-referencing the receiver of msg_send!, and still have Id work ergonomically. However, null pointer receivers are still discouraged because of all the other issues they cause! This change additionally allows sending messages to NonNull<T>, Option<&[mut] T> and Option<NonNull<T>>.
Configuration menu - View commit details
-
Copy full SHA for 663f32f - Browse repository at this point
Copy the full SHA 663f32fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a94fd59 - Browse repository at this point
Copy the full SHA a94fd59View commit details -
Configuration menu - View commit details
-
Copy full SHA for e29349f - Browse repository at this point
Copy the full SHA e29349fView commit details -
Allow an optional comma after each argument to msg_send!
This makes the syntax match Rust expectations a bit closer IMO
Configuration menu - View commit details
-
Copy full SHA for 605857a - Browse repository at this point
Copy the full SHA 605857aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d7ddbc - Browse repository at this point
Copy the full SHA 6d7ddbcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4cabdb9 - Browse repository at this point
Copy the full SHA 4cabdb9View commit details
Commits on Oct 3, 2021
-
Remove ability to send messages to Option types
We actually don't want to encourage sending messages to nil objects, since that is only supported for selectors that return pointers
Configuration menu - View commit details
-
Copy full SHA for 1b62354 - Browse repository at this point
Copy the full SHA 1b62354View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18b26ba - Browse repository at this point
Copy the full SHA 18b26baView commit details
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.