Update deps, address soundness issue in msg_send macro#219
Conversation
raphlinus
left a comment
There was a problem hiding this comment.
These look like good changes in general. Have we verified that the return type of all the methods affected is in fact void?
|
@cmyr mentioned over in SSheldon/rust-objc#83:
Definitely not an expert here, but I can say that the objc runtime uses different msg_send primitives on certain architectures between returns for floating point, structs, or other types. These mainly matter so that messaging nil gives a properly zeroed output. But there could be other spooky undefined behavior consequences? Anyways, although I don't know of any specific problems you'd see, I'd say it is worth giving a quick audit while you're at it to see what the return type should be for the omitted returns. Hopefully not too hard, lots of them are setters which almost always return void in objc. |
e8c19e0 to
31fa870
Compare
As described in [rust-objc#62][], the msg_send macro could cause UB in certain situations when built with a version of rustc that includes the ! type. [rust-objc#62]: SSheldon/rust-objc#62
|
Thanks @SSheldon! |
As described in rust-objc#62, the msg_send macro could cause
UB in certain situations when built with a version of rustc that
includes the ! type.