rust/src/librustc_back
Alex Crichton e14af089a4 rollup merge of #24711: alexcrichton/fs2.1
This commit is an implementation of [RFC 1044][rfc] which adds additional
surface area to the `std::fs` module. All new APIs are `#[unstable]` behind
assorted feature names for each one.

[rfc]: https://github.com/rust-lang/rfcs/pull/1044

The new APIs added are:

* `fs::canonicalize` - bindings to `realpath` on unix and
  `GetFinalPathNameByHandle` on windows.
* `fs::symlink_metadata` - similar to `lstat` on unix
* `fs::FileType` and accessor methods as `is_{file,dir,symlink}`
* `fs::Metadata::file_type` - accessor for the raw file type
* `fs::DirEntry::metadata` - acquisition of metadata which is free on Windows
  but requires a syscall on unix.
* `fs::DirEntry::file_type` - access the file type which may not require a
  syscall on most platforms.
* `fs::DirEntry::file_name` - access just the file name without leading
  components.
* `fs::PathExt::symlink_metadata` - convenience method for the top-level
  function.
* `fs::PathExt::canonicalize` - convenience method for the top-level
  function.
* `fs::PathExt::read_link` - convenience method for the top-level
  function.
* `fs::PathExt::read_dir` - convenience method for the top-level
  function.
* `std::os::raw` - type definitions for raw OS/C types available on all
  platforms.
* `std::os::$platform` - new modules have been added for all currently supported
  platforms (e.g. those more specific than just `unix`).
* `std::os::$platform::raw` - platform-specific type definitions. These modules
  are populated with the bare essentials necessary for lowing I/O types into
  their raw representations, and currently largely consist of the `stat`
  definition for unix platforms.

This commit also deprecates `Metadata::{modified, accessed}` in favor of
inspecting the raw representations via the lowering methods of `Metadata`.

Closes https://github.com/rust-lang/rust/issues/24796
2015-04-29 15:45:34 -07:00
..
target rustc: Add support for linking arbitrary objects 2015-04-27 10:11:15 -07:00
abi.rs Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
archive.rs rustc: Handle duplicate names merging archives 2015-04-21 11:08:19 -07:00
arm.rs bitrig integration 2015-02-11 14:49:06 -08:00
lib.rs std: Expand the area of std::fs 2015-04-27 17:16:44 -07:00
mips.rs bitrig integration 2015-02-11 14:49:06 -08:00
mipsel.rs bitrig integration 2015-02-11 14:49:06 -08:00
rpath.rs std: Expand the area of std::fs 2015-04-27 17:16:44 -07:00
sha2.rs std: Bring back f32::from_str_radix as an unstable API 2015-04-21 15:23:54 -07:00
svh.rs Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
target_strs.rs Extract librustc_back from librustc 2014-07-14 12:27:07 -07:00
tempdir.rs Negative case of len() -> is_empty() 2015-04-14 20:26:03 -07:00
x86.rs fixing PR review comments 2015-02-11 14:49:11 -08:00
x86_64.rs oops, fixing abi::OsOpenbsd 2015-02-11 14:49:13 -08:00