diff options
| author | Chris Denton <christophersdenton@gmail.com> | 2021-09-04 19:22:34 +0100 |
|---|---|---|
| committer | Chris Denton <christophersdenton@gmail.com> | 2021-09-04 19:22:34 +0100 |
| commit | 2d95b5bce7119ae5549499083d24d143eae34d6b (patch) | |
| tree | 366b587921d609d568b7b1d08be61399909d5d5e /library/std/src/os | |
| parent | 226e181b80fa0be755872b66916ef7e704601ec2 (diff) | |
| download | rust-2d95b5bce7119ae5549499083d24d143eae34d6b.tar.gz rust-2d95b5bce7119ae5549499083d24d143eae34d6b.zip | |
Document when to use Windows' `symlink_dir` vs. `symlink_file`
It was previously unclear which should be used when.
Diffstat (limited to 'library/std/src/os')
| -rw-r--r-- | library/std/src/os/windows/fs.rs | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/library/std/src/os/windows/fs.rs b/library/std/src/os/windows/fs.rs index b20eafb4d53..71563a02dcb 100644 --- a/library/std/src/os/windows/fs.rs +++ b/library/std/src/os/windows/fs.rs @@ -517,11 +517,20 @@ impl FileTypeExt for fs::FileType { } } -/// Creates a new file symbolic link on the filesystem. +/// Creates a new symlink to a non-directory file on the filesystem. /// /// The `link` path will be a file symbolic link pointing to the `original` /// path. /// +/// The `original` path should not be a directory or a symlink to a directory, +/// otherwise the symlink will be broken. Use [`symlink_dir`] for directories. +/// +/// This function currently corresponds to [`CreateSymbolicLinkW`][CreateSymbolicLinkW]. +/// Note that this [may change in the future][changes]. +/// +/// [CreateSymbolicLinkW]: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsymboliclinkw +/// [changes]: io#platform-specific-behavior +/// /// # Examples /// /// ```no_run @@ -537,11 +546,20 @@ pub fn symlink_file<P: AsRef<Path>, Q: AsRef<Path>>(original: P, link: Q) -> io: sys::fs::symlink_inner(original.as_ref(), link.as_ref(), false) } -/// Creates a new directory symlink on the filesystem. +/// Creates a new symlink to a directory on the filesystem. /// /// The `link` path will be a directory symbolic link pointing to the `original` /// path. /// +/// The `original` path must be a directory or a symlink to a directory, +/// otherwise the symlink will be broken. Use [`symlink_file`] for other files. +/// +/// This function currently corresponds to [`CreateSymbolicLinkW`][CreateSymbolicLinkW]. +/// Note that this [may change in the future][changes]. +/// +/// [CreateSymbolicLinkW]: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createsymboliclinkw +/// [changes]: io#platform-specific-behavior +/// /// # Examples /// /// ```no_run |
