Skip to content

Commit 014378f

Browse files
committed
Clarify status of home_dir
Users should be using the standard library `home_dir` instead of this crate.
1 parent 769f622 commit 014378f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

crates/home/README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,19 @@ This provides the definition of `home_dir` used by Cargo and rustup,
77
as well functions to find the correct value of `CARGO_HOME` and
88
`RUSTUP_HOME`.
99

10-
The definition of `home_dir` provided by the standard library is
10+
The definition of [`home_dir`] provided by the standard library is
1111
incorrect because it considers the `HOME` environment variable on
1212
Windows. This causes surprising situations where a Rust program will
1313
behave differently depending on whether it is run under a Unix
1414
emulation environment like Cygwin or MinGW. Neither Cargo nor rustup
1515
use the standard library's definition - they use the definition here.
1616

17+
**Note:** This has been fixed in Rust 1.85 to no longer use the `HOME`
18+
environment variable on Windows. If you are still using this crate for the
19+
purpose of getting a home directory, you are strongly encouraged to switch to
20+
using the standard library's [`home_dir`] instead. It is planned to have the
21+
deprecation notice removed in 1.86.
22+
1723
This crate further provides two functions, `cargo_home` and
1824
`rustup_home`, which are the canonical way to determine the location
1925
that Cargo and rustup store their data.
@@ -25,6 +31,7 @@ See [rust-lang/rust#43321].
2531
> crate may make major changes to its APIs or be deprecated without warning.
2632
2733
[rust-lang/rust#43321]: https://github.com/rust-lang/rust/issues/43321
34+
[`home_dir`]: https://doc.rust-lang.org/nightly/std/env/fn.home_dir.html
2835

2936
## License
3037

0 commit comments

Comments
 (0)