mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-28 16:35:57 +00:00
Better documentation for env::home_dir()'s broken behaviour
This improves the documentation to say *why* it was deprecated. The reason was because it reads `HOME` on Windows which is meaningless there. Note that the PR that deprecated it stated that returning an empty string if `HOME` is set to an empty string was a problem, however I can find no evidence that this is the case. `cd` handles it fine whereas if `HOME` is unset it gives an explicit `HOME not set` error. * Original deprecation reason: https://internals.rust-lang.org/t/deprecate-or-break-fix-std-env-home-dir/7315 * Original deprecation PR: https://github.com/rust-lang/rust/pull/51656 See #71684
This commit is contained in:
parent
db9d86b58d
commit
8d08983c2b
@ -570,6 +570,13 @@ impl Error for JoinPathsError {
|
||||
///
|
||||
/// [msdn]: https://docs.microsoft.com/en-us/windows/win32/api/userenv/nf-userenv-getuserprofiledirectorya
|
||||
///
|
||||
/// # Deprecation
|
||||
///
|
||||
/// This function is deprecated because the behaviour on Windows is not correct.
|
||||
/// The 'HOME' environment variable has no meaning on Windows so it should not
|
||||
/// be checked. This result is that under Cygwin or Mingw it will return `/home/you`
|
||||
/// when it should return `C:\Users\you`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
@ -582,7 +589,7 @@ impl Error for JoinPathsError {
|
||||
/// ```
|
||||
#[deprecated(
|
||||
since = "1.29.0",
|
||||
note = "This function's behavior is unexpected and probably not what you want. \
|
||||
note = "This function's behavior may be unexpected on Windows. \
|
||||
Consider using a crate from crates.io instead."
|
||||
)]
|
||||
#[must_use]
|
||||
|
Loading…
Reference in New Issue
Block a user