-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Open
Copy link
Labels
A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.O-windowsOperating system: WindowsOperating system: WindowsT-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
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.
Metadata
Metadata
Assignees
Labels
A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.O-windowsOperating system: WindowsOperating system: WindowsT-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.