std: Directly call unsafe {un,}setenv in env · model-checking/verify-rust-std@91b7331 (original) (raw)

Original file line number Diff line number Diff line change
@@ -9,7 +9,6 @@
9 9 //! and those without will return a [`String`].
10 10
11 11 #![stable(feature = "env", since = "1.0.0")]
12 -#![allow(unsafe_op_in_unsafe_fn)]
13 12
14 13 #[cfg(test)]
15 14 mod tests;
@@ -367,11 +366,8 @@ impl Error for VarError {
367 366 #[rustc_deprecated_safe_2024]
368 367 #[stable(feature = "env", since = "1.0.0")]
369 368 pub unsafe fn set_var<K: AsRef<OsStr>, V: AsRef<OsStr>>(key: K, value: V) {
370 -_set_var(key.as_ref(), value.as_ref())
371 -}
372 -
373 -unsafe fn _set_var(key: &OsStr, value: &OsStr) {
374 - os_imp::setenv(key, value).unwrap_or_else(|e
369 +let (key, value) = (key.as_ref(), value.as_ref());
370 +unsafe { os_imp::setenv(key, value) }.unwrap_or_else(|e
375 371 panic!("failed to set environment variable `{key:?}` to `{value:?}`: {e}")
376 372 })
377 373 }
@@ -434,11 +430,8 @@ unsafe fn _set_var(key: &OsStr, value: &OsStr) {
434 430 #[rustc_deprecated_safe_2024]
435 431 #[stable(feature = "env", since = "1.0.0")]
436 432 pub unsafe fn remove_var<K: AsRef<OsStr>>(key: K) {
437 -_remove_var(key.as_ref())
438 -}
439 -
440 -unsafe fn _remove_var(key: &OsStr) {
441 - os_imp::unsetenv(key)
433 +let key = key.as_ref();
434 +unsafe { os_imp::unsetenv(key) }
442 435 .unwrap_or_else(|e
443 436 }
444 437