# Why should std::env::var panic?

**URL:** <https://internals.rust-lang.org/t/why-should-std-var-panic/14847>\
**Category:** libs\
**Created:** [June 7, 2021, 8:36am UTC](https://internals.rust-lang.org/t/why-should-std-var-panic/14847 "2021-06-07T08:36:21Z")\
**Posts on this page:** 1\
**Showing post:** 24

<div class="post-metadata">

**Author:** ![cehteh](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/cehteh/32/8289_2.png) [@cehteh](https://internals.rust-lang.org/u/cehteh)\
**Post date:** [June 23, 2021, 10:01pm UTC](https://internals.rust-lang.org/t/why-should-std-var-panic/14847/24 "2021-06-23T22:01:20Z")

</div>

I discovered a similar issue with std::process::Command env handling:

> [@Lack of API mutating args at std::process::Command](https://internals.rust-lang.org/t/lack-of-api-mutating-args-at-std-command/14908/9):
>
> Just some observation: arg\_set() should return a Result\<Command, Error\> Which surprises me now since the env() functions don't return a Result but a Command. But there are certain ways which would fail setting an environment variable (illegal characters in its name). Is this intentional or a defect.

This might be fixed along with this in a similar way (that would be least surprising for the user)

---

_[View the full topic](https://internals.rust-lang.org/t/why-should-std-var-panic/14847)._
