Skip to content

Commit a16c1f3

Browse files
ehussgitbot
authored and
gitbot
committed
std: Apply deprecated_safe_2024
1 parent 0bccd51 commit a16c1f3

File tree

5 files changed

+66
-42
lines changed

5 files changed

+66
-42
lines changed

std/src/env.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ pub struct JoinPathsError {
568568
/// let mut paths = env::split_paths(&path).collect::<Vec<_>>();
569569
/// paths.push(PathBuf::from("/home/xyz/bin"));
570570
/// let new_path = env::join_paths(paths)?;
571-
/// env::set_var("PATH", &new_path);
571+
/// unsafe { env::set_var("PATH", &new_path); }
572572
/// }
573573
///
574574
/// Ok(())

std/src/process/tests.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,13 @@ fn test_capture_env_at_spawn() {
323323

324324
// This variable will not be present if the environment has already
325325
// been captured above.
326-
env::set_var("RUN_TEST_NEW_ENV2", "456");
326+
unsafe {
327+
env::set_var("RUN_TEST_NEW_ENV2", "456");
328+
}
327329
let result = cmd.output().unwrap();
328-
env::remove_var("RUN_TEST_NEW_ENV2");
330+
unsafe {
331+
env::remove_var("RUN_TEST_NEW_ENV2");
332+
}
329333

330334
let output = String::from_utf8_lossy(&result.stdout).to_string();
331335

std/src/sys/pal/uefi/process.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ impl Command {
154154
if let Some(e) = &env {
155155
for (k, (_, v)) in e {
156156
match v {
157-
Some(v) => crate::env::set_var(k, v),
158-
None => crate::env::remove_var(k),
157+
Some(v) => unsafe { crate::env::set_var(k, v) },
158+
None => unsafe { crate::env::remove_var(k) },
159159
}
160160
}
161161
}
@@ -166,8 +166,8 @@ impl Command {
166166
if let Some(e) = env {
167167
for (k, (v, _)) in e {
168168
match v {
169-
Some(v) => crate::env::set_var(k, v),
170-
None => crate::env::remove_var(k),
169+
Some(v) => unsafe { crate::env::set_var(k, v) },
170+
None => unsafe { crate::env::remove_var(k) },
171171
}
172172
}
173173
}

std/src/sys/pal/windows/process/tests.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,10 @@ fn windows_env_unicode_case() {
138138
let mut cmd = Command::new("cmd");
139139
cmd.env(a, "1");
140140
cmd.env(b, "2");
141-
env::set_var(a, "1");
142-
env::set_var(b, "2");
141+
unsafe {
142+
env::set_var(a, "1");
143+
env::set_var(b, "2");
144+
}
143145

144146
for (key, value) in cmd.get_envs() {
145147
assert_eq!(

std/tests/env_modify.rs

+51-33
Original file line numberDiff line numberDiff line change
@@ -26,26 +26,32 @@ fn eq(a: Option<OsString>, b: Option<&str>) {
2626
#[test]
2727
fn test_set_var() {
2828
let n = make_rand_name();
29-
set_var(&n, "VALUE");
29+
unsafe {
30+
set_var(&n, "VALUE");
31+
}
3032
eq(var_os(&n), Some("VALUE"));
3133
}
3234

3335
#[test]
3436
fn test_remove_var() {
3537
let n = make_rand_name();
36-
set_var(&n, "VALUE");
37-
remove_var(&n);
38+
unsafe {
39+
set_var(&n, "VALUE");
40+
remove_var(&n);
41+
}
3842
eq(var_os(&n), None);
3943
}
4044

4145
#[test]
4246
fn test_set_var_overwrite() {
4347
let n = make_rand_name();
44-
set_var(&n, "1");
45-
set_var(&n, "2");
46-
eq(var_os(&n), Some("2"));
47-
set_var(&n, "");
48-
eq(var_os(&n), Some(""));
48+
unsafe {
49+
set_var(&n, "1");
50+
set_var(&n, "2");
51+
eq(var_os(&n), Some("2"));
52+
set_var(&n, "");
53+
eq(var_os(&n), Some(""));
54+
}
4955
}
5056

5157
#[test]
@@ -58,7 +64,9 @@ fn test_var_big() {
5864
i += 1;
5965
}
6066
let n = make_rand_name();
61-
set_var(&n, &s);
67+
unsafe {
68+
set_var(&n, &s);
69+
}
6270
eq(var_os(&n), Some(&s));
6371
}
6472

@@ -67,18 +75,22 @@ fn test_var_big() {
6775
fn test_env_set_get_huge() {
6876
let n = make_rand_name();
6977
let s = "x".repeat(10000);
70-
set_var(&n, &s);
71-
eq(var_os(&n), Some(&s));
72-
remove_var(&n);
73-
eq(var_os(&n), None);
78+
unsafe {
79+
set_var(&n, &s);
80+
eq(var_os(&n), Some(&s));
81+
remove_var(&n);
82+
eq(var_os(&n), None);
83+
}
7484
}
7585

7686
#[test]
7787
fn test_env_set_var() {
7888
let n = make_rand_name();
7989

8090
let mut e = vars_os();
81-
set_var(&n, "VALUE");
91+
unsafe {
92+
set_var(&n, "VALUE");
93+
}
8294
assert!(!e.any(|(k, v)| { &*k == &*n && &*v == "VALUE" }));
8395

8496
assert!(vars_os().any(|(k, v)| { &*k == &*n && &*v == "VALUE" }));
@@ -102,10 +114,12 @@ fn env_home_dir() {
102114
if #[cfg(unix)] {
103115
let oldhome = var_to_os_string(var("HOME"));
104116

105-
set_var("HOME", "/home/MountainView");
106-
assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
117+
unsafe {
118+
set_var("HOME", "/home/MountainView");
119+
assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
107120

108-
remove_var("HOME");
121+
remove_var("HOME");
122+
}
109123
if cfg!(target_os = "android") {
110124
assert!(home_dir().is_none());
111125
} else {
@@ -115,33 +129,35 @@ fn env_home_dir() {
115129
assert_ne!(home_dir(), Some(PathBuf::from("/home/MountainView")));
116130
}
117131

118-
if let Some(oldhome) = oldhome { set_var("HOME", oldhome); }
132+
if let Some(oldhome) = oldhome { unsafe { set_var("HOME", oldhome); } }
119133
} else if #[cfg(windows)] {
120134
let oldhome = var_to_os_string(var("HOME"));
121135
let olduserprofile = var_to_os_string(var("USERPROFILE"));
122136

123-
remove_var("HOME");
124-
remove_var("USERPROFILE");
137+
unsafe {
138+
remove_var("HOME");
139+
remove_var("USERPROFILE");
125140

126-
assert!(home_dir().is_some());
141+
assert!(home_dir().is_some());
127142

128-
set_var("HOME", "/home/PaloAlto");
129-
assert_ne!(home_dir(), Some(PathBuf::from("/home/PaloAlto")), "HOME must not be used");
143+
set_var("HOME", "/home/PaloAlto");
144+
assert_ne!(home_dir(), Some(PathBuf::from("/home/PaloAlto")), "HOME must not be used");
130145

131-
set_var("USERPROFILE", "/home/MountainView");
132-
assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
146+
set_var("USERPROFILE", "/home/MountainView");
147+
assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
133148

134-
remove_var("HOME");
149+
remove_var("HOME");
135150

136-
assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
151+
assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
137152

138-
set_var("USERPROFILE", "");
139-
assert_ne!(home_dir(), Some(PathBuf::from("")), "Empty USERPROFILE must be ignored");
153+
set_var("USERPROFILE", "");
154+
assert_ne!(home_dir(), Some(PathBuf::from("")), "Empty USERPROFILE must be ignored");
140155

141-
remove_var("USERPROFILE");
156+
remove_var("USERPROFILE");
142157

143-
if let Some(oldhome) = oldhome { set_var("HOME", oldhome); }
144-
if let Some(olduserprofile) = olduserprofile { set_var("USERPROFILE", olduserprofile); }
158+
if let Some(oldhome) = oldhome { set_var("HOME", oldhome); }
159+
if let Some(olduserprofile) = olduserprofile { set_var("USERPROFILE", olduserprofile); }
160+
}
145161
}
146162
}
147163
}
@@ -157,7 +173,9 @@ fn test_env_get_set_multithreaded() {
157173

158174
let setter = thread::spawn(|| {
159175
for _ in 0..100 {
160-
set_var("foo", "bar");
176+
unsafe {
177+
set_var("foo", "bar");
178+
}
161179
}
162180
});
163181

0 commit comments

Comments
 (0)