diff options
| author | bors <bors@rust-lang.org> | 2016-08-09 05:26:50 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-08-09 05:26:50 -0700 |
| commit | f0139140f6a2d1207cb21336b0faca69b5a337b2 (patch) | |
| tree | a98aafccaa0cac47dc2a7de8d7cf2b5d82d3fb12 /src/libstd/sys | |
| parent | c2b03f8ba9c3f2622ea9fa6e2453c57aa1f8e6ab (diff) | |
| parent | 28218bed8f21cf525b8b03712874f64379e1bf21 (diff) | |
| download | rust-f0139140f6a2d1207cb21336b0faca69b5a337b2.tar.gz rust-f0139140f6a2d1207cb21336b0faca69b5a337b2.zip | |
Auto merge of #35426 - frewsxcv:os-sys-env-args-phantoms, r=alexcrichton
Utilize `PhantomData` to enforce `!Sync` and `!Send` field. None
Diffstat (limited to 'src/libstd/sys')
| -rw-r--r-- | src/libstd/sys/unix/os.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libstd/sys/unix/os.rs b/src/libstd/sys/unix/os.rs index 33c526532c7..9c57f25dfcc 100644 --- a/src/libstd/sys/unix/os.rs +++ b/src/libstd/sys/unix/os.rs @@ -21,6 +21,7 @@ use fmt; use io; use iter; use libc::{self, c_int, c_char, c_void}; +use marker::PhantomData; use mem; use memchr; use path::{self, PathBuf}; @@ -305,7 +306,7 @@ pub fn current_exe() -> io::Result<PathBuf> { pub struct Args { iter: vec::IntoIter<OsString>, - _dont_send_or_sync_me: *mut (), + _dont_send_or_sync_me: PhantomData<*mut ()>, } impl Iterator for Args { @@ -343,7 +344,7 @@ pub fn args() -> Args { }; Args { iter: vec.into_iter(), - _dont_send_or_sync_me: ptr::null_mut(), + _dont_send_or_sync_me: PhantomData, } } @@ -400,7 +401,7 @@ pub fn args() -> Args { } } - Args { iter: res.into_iter(), _dont_send_or_sync_me: ptr::null_mut() } + Args { iter: res.into_iter(), _dont_send_or_sync_me: PhantomData } } #[cfg(any(target_os = "linux", @@ -419,12 +420,12 @@ pub fn args() -> Args { let v: Vec<OsString> = bytes.into_iter().map(|v| { OsStringExt::from_vec(v) }).collect(); - Args { iter: v.into_iter(), _dont_send_or_sync_me: ptr::null_mut() } + Args { iter: v.into_iter(), _dont_send_or_sync_me: PhantomData } } pub struct Env { iter: vec::IntoIter<(OsString, OsString)>, - _dont_send_or_sync_me: *mut (), + _dont_send_or_sync_me: PhantomData<*mut ()>, } impl Iterator for Env { @@ -465,7 +466,7 @@ pub fn env() -> Env { } let ret = Env { iter: result.into_iter(), - _dont_send_or_sync_me: ptr::null_mut(), + _dont_send_or_sync_me: PhantomData, }; ENV_LOCK.unlock(); return ret |
