mirror of
https://github.com/rust-lang/rust
synced 2024-09-06 01:11:17 +00:00
41 lines
1,019 B
Rust
41 lines
1,019 B
Rust
//@ revisions: e2021 e2024
|
|
//@[e2021] edition: 2021
|
|
//@[e2024] edition: 2024
|
|
//@[e2024] compile-flags: -Zunstable-options
|
|
|
|
use std::env;
|
|
|
|
#[deny(unsafe_op_in_unsafe_fn)]
|
|
unsafe fn unsafe_fn() {
|
|
env::set_var("FOO", "BAR");
|
|
//[e2024]~^ ERROR call to unsafe function `std::env::set_var` is unsafe
|
|
env::remove_var("FOO");
|
|
//[e2024]~^ ERROR call to unsafe function `std::env::remove_var` is unsafe
|
|
if false {
|
|
unsafe_fn();
|
|
//~^ ERROR call to unsafe function `unsafe_fn` is unsafe
|
|
}
|
|
}
|
|
fn safe_fn() {}
|
|
|
|
#[deny(unused_unsafe)]
|
|
fn main() {
|
|
env::set_var("FOO", "BAR");
|
|
//[e2024]~^ ERROR call to unsafe function `set_var` is unsafe
|
|
env::remove_var("FOO");
|
|
//[e2024]~^ ERROR call to unsafe function `remove_var` is unsafe
|
|
|
|
unsafe {
|
|
env::set_var("FOO", "BAR");
|
|
env::remove_var("FOO");
|
|
}
|
|
|
|
unsafe_fn();
|
|
//~^ ERROR call to unsafe function `unsafe_fn` is unsafe
|
|
|
|
unsafe {
|
|
//~^ ERROR unnecessary `unsafe` block
|
|
safe_fn();
|
|
}
|
|
}
|