8000 Tags · poga/rust · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: poga/rust

Tags

homu-tmp

Toggle homu-tmp's commit message
Auto merge of rust-lang#24711 - alexcrichton:fs2.1, r=alexcrichton

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]: rust-lang/rfcs#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 rust-lang#24796

1.0.0-alpha.2

Toggle 1.0.0-alpha.2's commit message
1.0.0-alpha.2 release

1.0.0-alpha

Toggle 1.0.0-alpha's commit message
1.0.0-alpha release

0.12.0

Toggle 0.12.0's commit message
0.12.0 release

0.11.0

Toggle 0.11.0's commit message
0.11.0 release

0.10

Toggle 0.10's commit message
0.10 release

0.9

Toggle 0.9's commit message
0.9 release

0.8

Toggle 0.8's commit message
0.8 release

0.7

Toggle 0.7's commit message
0.7 release

0