diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-04-15 23:21:13 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-04-27 17:16:44 -0700 |
| commit | 9348700007c6ac913df97c8e9e1ab7df6f91f130 (patch) | |
| tree | a69d87dfe3b7e1e8c7cd9f7f48fdabdb1436c308 /src/libstd/os/nacl/mod.rs | |
| parent | b772ce6342962792620e21623997d0d3b98164b7 (diff) | |
| download | rust-9348700007c6ac913df97c8e9e1ab7df6f91f130.tar.gz rust-9348700007c6ac913df97c8e9e1ab7df6f91f130.zip | |
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`.
Diffstat (limited to 'src/libstd/os/nacl/mod.rs')
| -rw-r--r-- | src/libstd/os/nacl/mod.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libstd/os/nacl/mod.rs b/src/libstd/os/nacl/mod.rs new file mode 100644 index 00000000000..6baed039514 --- /dev/null +++ b/src/libstd/os/nacl/mod.rs @@ -0,0 +1,19 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Nacl-specific definitions + +#![unstable(feature = "raw_ext", reason = "recently added API")] + +pub mod raw; + +pub mod fs { + pub use sys::fs2::MetadataExt; +} |
