diff options
| author | Jubilee Young <workingjubilee@gmail.com> | 2024-07-14 17:07:19 -0700 |
|---|---|---|
| committer | Jubilee Young <workingjubilee@gmail.com> | 2024-07-14 17:08:44 -0700 |
| commit | 83a0fe53967ef12411cb7f954a7ad52bee20dc56 (patch) | |
| tree | fa63b05469447168301bb4dd405b1fcc77124144 /library/std/src | |
| parent | ce35265105929ead4a4e8d8c556ee3c00d35bc72 (diff) | |
| download | rust-83a0fe53967ef12411cb7f954a7ad52bee20dc56.tar.gz rust-83a0fe53967ef12411cb7f954a7ad52bee20dc56.zip | |
std: Directly call unsafe {un,}setenv in env
Diffstat (limited to 'library/std/src')
| -rw-r--r-- | library/std/src/env.rs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/library/std/src/env.rs b/library/std/src/env.rs index b47b6531d53..36add02d68c 100644 --- a/library/std/src/env.rs +++ b/library/std/src/env.rs @@ -9,7 +9,6 @@ //! and those without will return a [`String`]. #![stable(feature = "env", since = "1.0.0")] -#![allow(unsafe_op_in_unsafe_fn)] #[cfg(test)] mod tests; @@ -367,11 +366,8 @@ impl Error for VarError { #[rustc_deprecated_safe_2024] #[stable(feature = "env", since = "1.0.0")] pub unsafe fn set_var<K: AsRef<OsStr>, V: AsRef<OsStr>>(key: K, value: V) { - _set_var(key.as_ref(), value.as_ref()) -} - -unsafe fn _set_var(key: &OsStr, value: &OsStr) { - os_imp::setenv(key, value).unwrap_or_else(|e| { + let (key, value) = (key.as_ref(), value.as_ref()); + unsafe { os_imp::setenv(key, value) }.unwrap_or_else(|e| { panic!("failed to set environment variable `{key:?}` to `{value:?}`: {e}") }) } @@ -434,11 +430,8 @@ unsafe fn _set_var(key: &OsStr, value: &OsStr) { #[rustc_deprecated_safe_2024] #[stable(feature = "env", since = "1.0.0")] pub unsafe fn remove_var<K: AsRef<OsStr>>(key: K) { - _remove_var(key.as_ref()) -} - -unsafe fn _remove_var(key: &OsStr) { - os_imp::unsetenv(key) + let key = key.as_ref(); + unsafe { os_imp::unsetenv(key) } .unwrap_or_else(|e| panic!("failed to remove environment variable `{key:?}`: {e}")) } |
