Why is this an issue?

Unwrapping the result of option_env! will panic at runtime if the environment variable doesn’t exist, whereas env! catches it at compile-time, ensuring safer code execution.

Code examples

Noncompliant code example

---_
let _ = option_env!("HOME").unwrap(); // Noncompliant: Can panic at runtime.
---_

Compliant solution

---_
let _ = env!("HOME"); // Compliant: Ensures compile-time checking.
---_

Resources

Documentation