rust/src/rt
Alex Crichton 9348700007 std: Expand the area of std::fs
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`.
2015-04-27 17:16:44 -07:00
..
arch bitrig integration 2015-02-11 14:49:06 -08:00
hoedown@238c4d57cc rustdoc: Migrate from sundown to hoedown 2014-05-03 17:36:20 -07:00
msvc Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
valgrind Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
miniz.c Move runtime files to C instead of C++ 2013-11-18 21:45:58 -08:00
rust_android_dummy.c rt: Define exp10 on Android 2014-01-03 21:29:40 -08:00
rust_android_dummy.h auto merge of #6234 : yichoi/rust/glob-dummy-pull, r=thestinger 2013-05-04 22:09:36 -07:00
rust_builtin.c std: Expand the area of std::fs 2015-04-27 17:16:44 -07:00
rust_test_helpers.c Add missing attributes to indirect calls for foreign functions 2014-06-21 19:59:58 +02:00
rust_try.ll Avoid .take().unwrap() with FnOnce closures 2014-12-18 23:31:52 -08:00