]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #9235 : olsonjeffery/rust/newrt_file_io_1, r=thestinger
authorbors <bors@rust-lang.org>
Tue, 17 Sep 2013 21:05:45 +0000 (14:05 -0700)
committerbors <bors@rust-lang.org>
Tue, 17 Sep 2013 21:05:45 +0000 (14:05 -0700)
A quick rundown:

- added `file::{readdir, stat, mkdir, rmdir}`
- Added access-constrained versions of `FileStream`; `FileReader` and `FileWriter` respectively
- big rework in `uv::file` .. most actions are by-val-self methods on `FsRequest`; `FileDescriptor` has gone the way of the dinosaurs
- playing nice w/ homing IO (I just copied ecr's work, hehe), etc
- added `FileInfo` trait, with an impl for `Path`
  - wrapper for file-specific actions, with the file path always implied by self's value
  - has the means to create `FileReader` & `FileWriter` (this isn't exposed in the top-level free function API)
  - has "safe" wrappers for `stat()` that won't throw in the event of non-existence/error (in this case, I mean `is_file` and `exists`)
  - actions should fail if done on non-regular-files, as appropriate
- added `DirectoryInfo` trait, with an impl for `Path`
  - pretty much ditto above, but for directories
  - added `readdir` (!!) to iterate over entries in a dir as a `~[Path]` (this was *brutal* to get working)

...<del>and lots of other stuff</del>not really. Do your worst!

1  2 
src/libstd/os.rs
src/libstd/rt/uv/uvio.rs

Simple merge
Simple merge