@@ -61,14 +61,14 @@ pub unsafe trait Message {
61
61
#[ cfg( not( feature = "verify_message" ) ) ]
62
62
unsafe fn send_message < A , R > ( & self , sel : Sel , args : A )
63
63
-> Result < R , MessageError >
64
- where Self : Sized , A : MessageArguments , R : Any {
64
+ where A : MessageArguments , R : Any {
65
65
send_message ( self , sel, args)
66
66
}
67
67
68
68
#[ cfg( feature = "verify_message" ) ]
69
69
unsafe fn send_message < A , R > ( & self , sel : Sel , args : A )
70
70
-> Result < R , MessageError >
71
- where Self : Sized , A : MessageArguments + EncodeArguments ,
71
+ where A : MessageArguments + EncodeArguments ,
72
72
R : Any + Encode {
73
73
send_message ( self , sel, args)
74
74
}
@@ -97,7 +97,7 @@ pub unsafe trait Message {
97
97
```
98
98
*/
99
99
fn verify_message < A , R > ( & self , sel : Sel ) -> Result < ( ) , MessageError >
100
- where Self : Sized , A : EncodeArguments , R : Encode {
100
+ where A : EncodeArguments , R : Encode {
101
101
let obj = unsafe { & * ( self as * const _ as * const Object ) } ;
102
102
verify_message_signature :: < A , R > ( obj. class ( ) , sel)
103
103
. map_err ( MessageError :: from)
@@ -181,7 +181,7 @@ impl<'a> From<VerificationError<'a>> for MessageError {
181
181
#[ cfg( not( feature = "verify_message" ) ) ]
182
182
pub unsafe fn send_message < T , A , R > ( obj : * const T , sel : Sel , args : A )
183
183
-> Result < R , MessageError >
184
- where T : Message , A : MessageArguments , R : Any {
184
+ where T : ? Sized + Message , A : MessageArguments , R : Any {
185
185
send_unverified ( obj, sel, args)
186
186
}
187
187
@@ -190,7 +190,7 @@ pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
190
190
#[ cfg( feature = "verify_message" ) ]
191
191
pub unsafe fn send_message < T , A , R > ( obj : * const T , sel : Sel , args : A )
192
192
-> Result < R , MessageError >
193
- where T : Message , A : MessageArguments + EncodeArguments ,
193
+ where T : ? Sized + Message , A : MessageArguments + EncodeArguments ,
194
194
R : Any + Encode {
195
195
let cls = if obj. is_null ( ) {
196
196
return Err ( VerificationError :: NilReceiver ( sel) . into ( ) ) ;
@@ -207,7 +207,7 @@ pub unsafe fn send_message<T, A, R>(obj: *const T, sel: Sel, args: A)
207
207
#[ cfg( not( feature = "verify_message" ) ) ]
208
208
pub unsafe fn send_super_message < T , A , R > ( obj : * const T , superclass : & Class ,
209
209
sel : Sel , args : A ) -> Result < R , MessageError >
210
- where T : Message , A : MessageArguments , R : Any {
210
+ where T : ? Sized + Message , A : MessageArguments , R : Any {
211
211
send_super_unverified ( obj, superclass, sel, args)
212
212
}
213
213
@@ -216,7 +216,7 @@ pub unsafe fn send_super_message<T, A, R>(obj: *const T, superclass: &Class,
216
216
#[ cfg( feature = "verify_message" ) ]
217
217
pub unsafe fn send_super_message < T , A , R > ( obj : * const T , superclass : & Class ,
218
218
sel : Sel , args : A ) -> Result < R , MessageError >
219
- where T : Message , A : MessageArguments + EncodeArguments ,
219
+ where T : ? Sized + Message , A : MessageArguments + EncodeArguments ,
220
220
R : Any + Encode {
221
221
if obj. is_null ( ) {
222
222
return Err ( VerificationError :: NilReceiver ( sel) . into ( ) ) ;
@@ -255,7 +255,7 @@ mod tests {
255
255
#[ cfg( not( feature = "verify_message" ) ) ]
256
256
#[ test]
257
257
fn test_send_message_nil ( ) {
258
- let nil: * mut Object = :: std :: ptr :: null_mut ( ) ;
258
+ let nil = 0 as * mut Object ;
259
259
let result: usize = unsafe {
260
260
msg_send ! [ nil, hash]
261
261
} ;
0 commit comments