rust/src
Brian Campbell 3cc84efcdd Deprecate std::fs::soft_link in favor of platform-specific versions
On Windows, when you create a symbolic link you must specify whether it
points to a directory or a file, even if it is created dangling, while
on Unix, the same symbolic link could point to a directory, a file, or
nothing at all.  Furthermore, on Windows special privilege is necessary
to use a symbolic link, while on Unix, you can generally create a
symbolic link in any directory you have write privileges to.

This means that it is unlikely to be able to use symbolic links purely
portably; anyone who uses them will need to think about the cross
platform implications.  This means that using platform-specific APIs
will make it easier to see where code will need to differ between the
platforms, rather than trying to provide some kind of compatibility
wrapper.

Furthermore, `soft_link` has no precedence in any other API, so to avoid
confusion, move back to the more standard `symlink` terminology.

Create a `std::os::unix::symlink` for the Unix version that is
destination type agnostic, as well as `std::os::windows::{symlink_file,
symlink_dir}` for Windows.

Because this is a stable API, leave a compatibility wrapper in
`std::fs::soft_link`, which calls `symlink` on Unix and `symlink_file`
on Windows, preserving the existing behavior of `soft_link`.
2015-04-21 12:14:22 -04:00
..
compiler-rt@58ab642c30
compiletest More test fixes 2015-04-14 10:14:19 -07:00
doc rollup merge of #24385: aturon/unstable-scoped 2015-04-14 10:59:55 -07:00
driver
etc Auto merge of #24351 - michaelwoerister:named-tuple-fields, r=alexcrichton 2015-04-13 12:39:49 +00:00
grammar
jemalloc@e24a1a025a
liballoc
libarena
libbacktrace Reapply rust-specific changes to libbacktrace 2015-04-11 22:30:17 +10:00
libcollections rollup merge of #24377: apasel422/docs 2015-04-14 10:56:57 -07:00
libcollectionstest rollup merge of #24310: alexcrichton/stabilize-utf8-error 2015-04-14 10:55:41 -07:00
libcore rollup merge of #24377: apasel422/docs 2015-04-14 10:56:57 -07:00
libcoretest test: Fixup many library unit tests 2015-04-14 10:14:19 -07:00
libflate test: Fixup many library unit tests 2015-04-14 10:14:19 -07:00
libfmt_macros
libgetopts
libgraphviz
liblibc remove duplicated linux sysconf mod 2015-04-13 15:17:45 +01:00
liblog
librand More test fixes 2015-04-14 10:14:19 -07:00
librbml
librustc Auto merge of #24431 - ruud-v-a:explain, r=alexcrichton 2015-04-15 04:14:50 +00:00
librustc_back More test fixes 2015-04-14 10:14:19 -07:00
librustc_bitflags
librustc_borrowck
librustc_driver
librustc_lint rollup merge of #24391: nrc/visit-vis 2015-04-14 10:55:55 -07:00
librustc_llvm
librustc_privacy
librustc_resolve Expose visibility for fns in syntax::visit 2015-04-14 09:54:58 +12:00
librustc_trans rollup merge of #24371: dotdash/24353 2015-04-14 10:55:47 -07:00
librustc_typeck rollup merge of #24380: arielb1/no-enum-suggest 2015-04-14 10:55:52 -07:00
librustdoc rollup merge of #24385: aturon/unstable-scoped 2015-04-14 10:59:55 -07:00
libserialize test: Fixup many library unit tests 2015-04-14 10:14:19 -07:00
libstd Deprecate std::fs::soft_link in favor of platform-specific versions 2015-04-21 12:14:22 -04:00
libsyntax Test fixes and rebase conflicts 2015-04-14 13:50:03 -07:00
libterm
libtest test: Fixup many library unit tests 2015-04-14 10:14:19 -07:00
libunicode Remove regex module from libunicode 2015-04-13 10:30:10 +12:00
llvm@bff6907697
rt
rust-installer@ebc6b04c29
rustbook
rustllvm
test Test fixes and rebase conflicts, round 2 2015-04-14 17:40:37 -07:00
snapshots.txt