@@ -23,7 +23,6 @@ use std::error::Error as StdError;
2323use std:: ffi:: CString ;
2424use std:: fmt:: { self , Debug , Formatter } ;
2525use std:: io;
26- use std:: marker:: PhantomData ;
2726use std:: mem;
2827use std:: ops:: Deref ;
2928use std:: ptr;
@@ -392,12 +391,6 @@ impl<'a> SendData<'a> {
392391#[ derive( PartialEq , Debug ) ]
393392pub struct OsIpcSender {
394393 port : mach_port_t ,
395- // Make sure this is `!Sync`, to match `crossbeam_channel::Sender`; and to discourage sharing
396- // references.
397- //
398- // (Rather, senders should just be cloned, as they are shared internally anyway --
399- // another layer of sharing only adds unnecessary overhead...)
400- nosync_marker : PhantomData < Cell < ( ) > > ,
401394}
402395
403396impl Drop for OsIpcSender {
@@ -419,19 +412,13 @@ impl Clone for OsIpcSender {
419412 Err ( error) => panic ! ( "mach_port_mod_refs(1, {}) failed: {:?}" , cloned_port, error) ,
420413 }
421414 }
422- OsIpcSender {
423- port : cloned_port,
424- nosync_marker : PhantomData ,
425- }
415+ OsIpcSender { port : cloned_port }
426416 }
427417}
428418
429419impl OsIpcSender {
430420 fn from_name ( port : mach_port_t ) -> OsIpcSender {
431- OsIpcSender {
432- port,
433- nosync_marker : PhantomData ,
434- }
421+ OsIpcSender { port }
435422 }
436423
437424 pub fn connect ( name : String ) -> Result < OsIpcSender , MachError > {
@@ -597,7 +584,6 @@ impl OsOpaqueIpcChannel {
597584 pub fn to_sender ( & mut self ) -> OsIpcSender {
598585 OsIpcSender {
599586 port : mem:: replace ( & mut self . port , MACH_PORT_NULL ) ,
600- nosync_marker : PhantomData ,
601587 }
602588 }
603589
0 commit comments