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:
commit
79dd393a4f
36 changed files with 405 additions and 317 deletions
|
|
@ -23,4 +23,4 @@ pub fn generic_function<T: Clone>(val: T) -> (T, T) {
|
|||
}
|
||||
|
||||
#[inline(never)]
|
||||
fn zzz() {()}
|
||||
fn zzz() {()}
|
||||
|
|
|
|||
|
|
@ -11,4 +11,4 @@
|
|||
#[foo] //~ ERROR The attribute `foo`
|
||||
fn main() {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue