@@ -21,6 +21,7 @@ use fmt;
21
21
use io;
22
22
use iter;
23
23
use libc:: { self , c_int, c_char, c_void} ;
24
+ use marker:: PhantomData ;
24
25
use mem;
25
26
use memchr;
26
27
use path:: { self , PathBuf } ;
@@ -305,7 +306,7 @@ pub fn current_exe() -> io::Result<PathBuf> {
305
306
306
307
pub struct Args {
307
308
iter : vec:: IntoIter < OsString > ,
308
- _dont_send_or_sync_me : * mut ( ) ,
309
+ _dont_send_or_sync_me : PhantomData < * mut ( ) > ,
309
310
}
310
311
311
312
impl Iterator for Args {
@@ -343,7 +344,7 @@ pub fn args() -> Args {
343
344
} ;
344
345
Args {
345
346
iter : vec. into_iter ( ) ,
346
- _dont_send_or_sync_me : ptr :: null_mut ( ) ,
347
+ _dont_send_or_sync_me : PhantomData ,
347
348
}
348
349
}
349
350
@@ -400,7 +401,7 @@ pub fn args() -> Args {
400
401
}
401
402
}
402
403
403
- Args { iter : res. into_iter ( ) , _dont_send_or_sync_me : ptr :: null_mut ( ) }
404
+ Args { iter : res. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
404
405
}
405
406
406
407
#[ cfg( any( target_os = "linux" ,
@@ -419,12 +420,12 @@ pub fn args() -> Args {
419
420
let v: Vec < OsString > = bytes. into_iter ( ) . map ( |v| {
420
421
OsStringExt :: from_vec ( v)
421
422
} ) . collect ( ) ;
422
- Args { iter : v. into_iter ( ) , _dont_send_or_sync_me : ptr :: null_mut ( ) }
423
+ Args { iter : v. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
423
424
}
424
425
425
426
pub struct Env {
426
427
iter : vec:: IntoIter < ( OsString , OsString ) > ,
427
- _dont_send_or_sync_me : * mut ( ) ,
428
+ _dont_send_or_sync_me : PhantomData < * mut ( ) > ,
428
429
}
429
430
430
431
impl Iterator for Env {
@@ -465,7 +466,7 @@ pub fn env() -> Env {
465
466
}
466
467
let ret = Env {
467
468
iter : result. into_iter ( ) ,
468
- _dont_send_or_sync_me : ptr :: null_mut ( ) ,
469
+ _dont_send_or_sync_me : PhantomData ,
469
470
} ;
470
471
ENV_LOCK . unlock ( ) ;
471
472
return ret
0 commit comments