Auto merge of #23229 - aturon:stab-path, r=alexcrichton

This commit stabilizes essentially all of the new `std::path` API. The
API itself is changed in a couple of ways (which brings it in closer
alignment with the RFC):

* `.` components are now normalized away, unless they appear at the
  start of a path. This in turn effects the semantics of e.g. asking for
  the file name of `foo/` or `foo/.`, both of which yield `Some("foo")`
  now. This semantics is what the original RFC specified, and is also
  desirable given early experience rolling out the new API.

* The `parent` method is now `without_file` and succeeds if, and only
  if, `file_name` is `Some(_)`. That means, in particular, that it fails
  for a path like `foo/../`. This change affects `pop` as well.

In addition, the `old_path` module is now deprecated.

[breaking-change]

r? @alexcrichton
This commit is contained in:
bors 2015-03-13 01:00:02 +00:00
commit 79dd393a4f
36 changed files with 405 additions and 317 deletions

View file

@ -23,4 +23,4 @@ pub fn generic_function<T: Clone>(val: T) -> (T, T) {
}
#[inline(never)]
fn zzz() {()}
fn zzz() {()}

View file

@ -11,4 +11,4 @@
#[foo] //~ ERROR The attribute `foo`
fn main() {
}
}