| //@ 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(); |
| } |
| } |