diff --git a/examples/custom_class.rs b/examples/custom_class.rs index 793e0bf..e4524ed 100644 --- a/examples/custom_class.rs +++ b/examples/custom_class.rs @@ -66,12 +66,12 @@ fn main() { obj.set_number(7); println!("Number: {}", unsafe { - let number: u32 = msg_send![obj, number]; + let number: u32 = msg_send![&*obj, number]; number }); unsafe { - let _: () = msg_send![obj, setNumber:12u32]; + let _: () = msg_send![&*obj, setNumber:12u32]; } println!("Number: {}", obj.number()); } diff --git a/src/dictionary.rs b/src/dictionary.rs index 44b96ef..9c0d1f0 100644 --- a/src/dictionary.rs +++ b/src/dictionary.rs @@ -107,7 +107,7 @@ pub trait INSDictionary : INSObject { fn into_values_array(dict: Id) -> Id> { unsafe { - let vals = msg_send![dict, allValues]; + let vals = msg_send![&*dict, allValues]; Id::from_ptr(vals) } } diff --git a/src/enumerator.rs b/src/enumerator.rs index 9f2c081..a5accdb 100644 --- a/src/enumerator.rs +++ b/src/enumerator.rs @@ -25,7 +25,7 @@ impl<'a, T> Iterator for NSEnumerator<'a, T> where T: INSObject { fn next(&mut self) -> Option<&'a T> { unsafe { - let obj: *mut T = msg_send![self.id, nextObject]; + let obj: *mut T = msg_send![&*self.id, nextObject]; if obj.is_null() { None } else { Some(&*obj) } } }