@@ -98,10 +98,11 @@ pub(crate) mod private {
9898///
9999/// # Safety
100100///
101- /// [`Self::as_raw_receiver`] must be implemented correctly.
101+ /// This is a sealed trait, and should not need to be implemented. Open an
102+ /// issue if you know a use-case where this restrition should be lifted!
102103pub unsafe trait MessageReceiver : private:: Sealed + Sized {
103- /// Get a raw pointer to the receiver of the message.
104- fn as_raw_receiver ( self ) -> * mut Object ;
104+ # [ doc ( hidden ) ]
105+ fn __as_raw_receiver ( self ) -> * mut Object ;
105106
106107 /// Sends a message to self with the given selector and arguments.
107108 ///
@@ -126,7 +127,7 @@ pub unsafe trait MessageReceiver: private::Sealed + Sized {
126127 A : MessageArguments ,
127128 R : Encode ,
128129 {
129- let this = self . as_raw_receiver ( ) ;
130+ let this = self . __as_raw_receiver ( ) ;
130131 // TODO: Always enable this when `debug_assertions` are on.
131132 #[ cfg( feature = "verify_message" ) ]
132133 {
@@ -173,7 +174,7 @@ pub unsafe trait MessageReceiver: private::Sealed + Sized {
173174 A : MessageArguments ,
174175 R : Encode ,
175176 {
176- let this = self . as_raw_receiver ( ) ;
177+ let this = self . __as_raw_receiver ( ) ;
177178 #[ cfg( feature = "verify_message" ) ]
178179 {
179180 if this. is_null ( ) {
@@ -210,7 +211,7 @@ pub unsafe trait MessageReceiver: private::Sealed + Sized {
210211 A : EncodeArguments ,
211212 R : Encode ,
212213 {
213- let obj = unsafe { & * self . as_raw_receiver ( ) } ;
214+ let obj = unsafe { & * self . __as_raw_receiver ( ) } ;
214215 verify_message_signature :: < A , R > ( obj. class ( ) , sel) . map_err ( MessageError :: from)
215216 }
216217}
@@ -220,70 +221,70 @@ pub unsafe trait MessageReceiver: private::Sealed + Sized {
220221
221222unsafe impl < T : Message + ?Sized > MessageReceiver for * const T {
222223 #[ inline]
223- fn as_raw_receiver ( self ) -> * mut Object {
224+ fn __as_raw_receiver ( self ) -> * mut Object {
224225 self as * mut T as * mut Object
225226 }
226227}
227228
228229unsafe impl < T : Message + ?Sized > MessageReceiver for * mut T {
229230 #[ inline]
230- fn as_raw_receiver ( self ) -> * mut Object {
231+ fn __as_raw_receiver ( self ) -> * mut Object {
231232 self as * mut Object
232233 }
233234}
234235
235236unsafe impl < T : Message + ?Sized > MessageReceiver for NonNull < T > {
236237 #[ inline]
237- fn as_raw_receiver ( self ) -> * mut Object {
238+ fn __as_raw_receiver ( self ) -> * mut Object {
238239 self . as_ptr ( ) as * mut Object
239240 }
240241}
241242
242243unsafe impl < ' a , T : Message + ?Sized > MessageReceiver for & ' a T {
243244 #[ inline]
244- fn as_raw_receiver ( self ) -> * mut Object {
245+ fn __as_raw_receiver ( self ) -> * mut Object {
245246 self as * const T as * mut T as * mut Object
246247 }
247248}
248249
249250unsafe impl < ' a , T : Message + ?Sized > MessageReceiver for & ' a mut T {
250251 #[ inline]
251- fn as_raw_receiver ( self ) -> * mut Object {
252+ fn __as_raw_receiver ( self ) -> * mut Object {
252253 self as * const T as * mut T as * mut Object
253254 }
254255}
255256
256257unsafe impl < ' a , T : Message + ?Sized , O : Ownership > MessageReceiver for & ' a Id < T , O > {
257258 #[ inline]
258- fn as_raw_receiver ( self ) -> * mut Object {
259+ fn __as_raw_receiver ( self ) -> * mut Object {
259260 Id :: as_ptr ( self ) as * mut Object
260261 }
261262}
262263
263264unsafe impl < ' a , T : Message + ?Sized > MessageReceiver for & ' a mut Id < T , Owned > {
264265 #[ inline]
265- fn as_raw_receiver ( self ) -> * mut Object {
266+ fn __as_raw_receiver ( self ) -> * mut Object {
266267 Id :: as_mut_ptr ( self ) as * mut Object
267268 }
268269}
269270
270271unsafe impl < T : Message + ?Sized , O : Ownership > MessageReceiver for ManuallyDrop < Id < T , O > > {
271272 #[ inline]
272- fn as_raw_receiver ( self ) -> * mut Object {
273+ fn __as_raw_receiver ( self ) -> * mut Object {
273274 Id :: consume_as_ptr ( self ) as * mut Object
274275 }
275276}
276277
277278unsafe impl MessageReceiver for * const Class {
278279 #[ inline]
279- fn as_raw_receiver ( self ) -> * mut Object {
280+ fn __as_raw_receiver ( self ) -> * mut Object {
280281 self as * mut Class as * mut Object
281282 }
282283}
283284
284285unsafe impl < ' a > MessageReceiver for & ' a Class {
285286 #[ inline]
286- fn as_raw_receiver ( self ) -> * mut Object {
287+ fn __as_raw_receiver ( self ) -> * mut Object {
287288 self as * const Class as * mut Class as * mut Object
288289 }
289290}
0 commit comments