Skip to content

Commit 0925705

Browse files
committed
Test a few different ways of sending messages that mutate the receiver
1 parent cdea41a commit 0925705

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

objc2/src/message/mod.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,26 @@ impl<'a> From<VerificationError<'a>> for MessageError {
395395
#[cfg(test)]
396396
mod tests {
397397
use super::*;
398+
use crate::rc::{Id, Owned};
398399
use crate::test_utils;
399400

401+
#[allow(unused)]
402+
fn test_different_receivers(mut obj: Id<Object, Owned>) {
403+
unsafe {
404+
let x = &mut obj;
405+
let _: () = msg_send![x, mutable1];
406+
// let _: () = msg_send![x, mutable2];
407+
let _: () = msg_send![&mut *obj, mutable1];
408+
let _: () = msg_send![&mut *obj, mutable2];
409+
let obj: NonNull<Object> = (&mut *obj).into();
410+
let _: () = msg_send![obj, mutable1];
411+
let _: () = msg_send![obj, mutable2];
412+
let obj: *mut Object = obj.as_ptr();
413+
let _: () = msg_send![obj, mutable1];
414+
let _: () = msg_send![obj, mutable2];
415+
}
416+
}
417+
400418
#[test]
401419
fn test_send_message() {
402420
let mut obj = test_utils::custom_object();

0 commit comments

Comments
 (0)