7
7
8
8
use crate :: ffi:: OsString ;
9
9
use crate :: fmt;
10
- use crate :: marker:: PhantomData ;
11
10
use crate :: vec;
12
11
13
12
/// One-time global initialization.
@@ -27,9 +26,11 @@ pub fn args() -> Args {
27
26
28
27
pub struct Args {
29
28
iter : vec:: IntoIter < OsString > ,
30
- _dont_send_or_sync_me : PhantomData < * mut ( ) > ,
31
29
}
32
30
31
+ impl !Send for Args { }
32
+ impl !Sync for Args { }
33
+
33
34
impl fmt:: Debug for Args {
34
35
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
35
36
self . iter . as_slice ( ) . fmt ( f)
@@ -77,7 +78,6 @@ impl DoubleEndedIterator for Args {
77
78
mod imp {
78
79
use super :: Args ;
79
80
use crate :: ffi:: { CStr , OsString } ;
80
- use crate :: marker:: PhantomData ;
81
81
use crate :: os:: unix:: prelude:: * ;
82
82
use crate :: ptr;
83
83
use crate :: sync:: atomic:: { AtomicIsize , AtomicPtr , Ordering } ;
@@ -134,7 +134,7 @@ mod imp {
134
134
}
135
135
136
136
pub fn args ( ) -> Args {
137
- Args { iter : clone ( ) . into_iter ( ) , _dont_send_or_sync_me : PhantomData }
137
+ Args { iter : clone ( ) . into_iter ( ) }
138
138
}
139
139
140
140
fn clone ( ) -> Vec < OsString > {
@@ -156,7 +156,6 @@ mod imp {
156
156
mod imp {
157
157
use super :: Args ;
158
158
use crate :: ffi:: CStr ;
159
- use crate :: marker:: PhantomData ;
160
159
161
160
pub unsafe fn init ( _argc : isize , _argv : * const * const u8 ) { }
162
161
@@ -181,7 +180,7 @@ mod imp {
181
180
} )
182
181
. collect :: < Vec < _ > > ( )
183
182
} ;
184
- Args { iter : vec. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
183
+ Args { iter : vec. into_iter ( ) }
185
184
}
186
185
187
186
// As _NSGetArgc and _NSGetArgv aren't mentioned in iOS docs
@@ -248,6 +247,6 @@ mod imp {
248
247
}
249
248
}
250
249
251
- Args { iter : res. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
250
+ Args { iter : res. into_iter ( ) }
252
251
}
253
252
}
0 commit comments