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