@@ -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 } ;
@@ -304,7 +305,7 @@ pub fn current_exe() -> io::Result<PathBuf> {
304
305
305
306
pub struct Args {
306
307
iter : vec:: IntoIter < OsString > ,
307
- _dont_send_or_sync_me : * mut ( ) ,
308
+ _dont_send_or_sync_me : PhantomData < * mut ( ) > ,
308
309
}
309
310
310
311
impl Iterator for Args {
@@ -342,7 +343,7 @@ pub fn args() -> Args {
342
343
} ;
343
344
Args {
344
345
iter : vec. into_iter ( ) ,
345
- _dont_send_or_sync_me : ptr :: null_mut ( ) ,
346
+ _dont_send_or_sync_me : PhantomData ,
346
347
}
347
348
}
348
349
@@ -399,7 +400,7 @@ pub fn args() -> Args {
399
400
}
400
401
}
401
402
402
- Args { iter : res. into_iter ( ) , _dont_send_or_sync_me : ptr :: null_mut ( ) }
403
+ Args { iter : res. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
403
404
}
404
405
405
406
#[ cfg( any( target_os = "linux" ,
@@ -418,12 +419,12 @@ pub fn args() -> Args {
418
419
let v: Vec < OsString > = bytes. into_iter ( ) . map ( |v| {
419
420
OsStringExt :: from_vec ( v)
420
421
} ) . collect ( ) ;
421
- Args { iter : v. into_iter ( ) , _dont_send_or_sync_me : ptr :: null_mut ( ) }
422
+ Args { iter : v. into_iter ( ) , _dont_send_or_sync_me : PhantomData }
422
423
}
423
424
424
425
pub struct Env {
425
426
iter : vec:: IntoIter < ( OsString , OsString ) > ,
426
- _dont_send_or_sync_me : * mut ( ) ,
427
+ _dont_send_or_sync_me : PhantomData < * mut ( ) > ,
427
428
}
428
429
429
430
impl Iterator for Env {
@@ -464,7 +465,7 @@ pub fn env() -> Env {
464
465
}
465
466
let ret = Env {
466
467
iter : result. into_iter ( ) ,
467
- _dont_send_or_sync_me : ptr :: null_mut ( ) ,
468
+ _dont_send_or_sync_me : PhantomData ,
468
469
} ;
469
470
ENV_LOCK . unlock ( ) ;
470
471
return ret
0 commit comments