77
88use crate :: ffi:: OsString ;
99use crate :: fmt;
10- use crate :: marker:: PhantomData ;
1110use crate :: vec;
1211
1312/// One-time global initialization.
@@ -27,9 +26,11 @@ pub fn args() -> Args {
2726
2827pub struct Args {
2928 iter : vec:: IntoIter < OsString > ,
30- _dont_send_or_sync_me : PhantomData < * mut ( ) > ,
3129}
3230
31+ impl !Send for Args { }
32+ impl !Sync for Args { }
33+
3334impl fmt:: Debug for Args {
3435 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
3536 self . iter . as_slice ( ) . fmt ( f)
@@ -77,7 +78,6 @@ impl DoubleEndedIterator for Args {
7778mod imp {
7879 use super :: Args ;
7980 use crate :: ffi:: { CStr , OsString } ;
80- use crate :: marker:: PhantomData ;
8181 use crate :: os:: unix:: prelude:: * ;
8282 use crate :: ptr;
8383 use crate :: sync:: atomic:: { AtomicIsize , AtomicPtr , Ordering } ;
@@ -134,7 +134,7 @@ mod imp {
134134 }
135135
136136 pub fn args ( ) -> Args {
137- Args { iter : clone ( ) . into_iter ( ) , _dont_send_or_sync_me : PhantomData }
137+ Args { iter : clone ( ) . into_iter ( ) }
138138 }
139139
140140 fn clone ( ) -> Vec < OsString > {
@@ -156,7 +156,6 @@ mod imp {
156156mod imp {
157157 use super :: Args ;
158158 use crate :: ffi:: CStr ;
159- use crate :: marker:: PhantomData ;
160159
161160 pub unsafe fn init ( _argc : isize , _argv : * const * const u8 ) { }
162161
@@ -181,7 +180,7 @@ mod imp {
181180 } )
182181 . collect :: < Vec < _ > > ( )
183182 } ;
184- Args { iter : vec. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
183+ Args { iter : vec. into_iter ( ) }
185184 }
186185
187186 // As _NSGetArgc and _NSGetArgv aren't mentioned in iOS docs
@@ -248,6 +247,6 @@ mod imp {
248247 }
249248 }
250249
251- Args { iter : res. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
250+ Args { iter : res. into_iter ( ) }
252251 }
253252}
0 commit comments