Open
Description
Location
Summary
Encountered in #122580 (comment).
In codegen we (transitively) use env::temp_dir()
for some temporary files. If you unset (or provide a value that is not a writable directory) all three TMP
, TEMP
, USERPROFILE
env vars (such as by calling Command::env_clear
on some cargo invocation) on Windows, then env::temp_dir()
can return the Windows directory which is often not writable.
This is documented in GetTempPath2W
, but it might be worth a remark on the docs for env::temp_dir
and Command::env_clear
that modifying or unsetting TMP
, TEMP
and USERPROFILE
can influence the result of env::temp_dir
on Windows.
It is already pointed out that env::temp_dir
returns value of TMPDIR
on Linux.