diff options
| author | Aaron Turon <aturon@mozilla.com> | 2015-03-09 08:49:10 -0700 |
|---|---|---|
| committer | Aaron Turon <aturon@mozilla.com> | 2015-03-12 16:38:58 -0700 |
| commit | 42c4e481cd98bd392839144c9ac83e55e445a12a (patch) | |
| tree | 9b630066fe5ee9a68f31f65f4a09be0f8a47faad /src/libsyntax/parse/parser.rs | |
| parent | f899513a30165946a75ff7f515ab37a226e72172 (diff) | |
| download | rust-42c4e481cd98bd392839144c9ac83e55e445a12a.tar.gz rust-42c4e481cd98bd392839144c9ac83e55e445a12a.zip | |
Stabilize std::path
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` function now succeeds if, and only if, the path has at
least one non-root/prefix component. This change affects `pop` as
well.
* The `Prefix` component now involves a separate `PrefixComponent`
struct, to better allow for keeping both parsed and unparsed prefix data.
In addition, the `old_path` module is now deprecated.
Closes #23264
[breaking-change]
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 28d757e9be9..495c619c273 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5254,13 +5254,7 @@ impl<'a> Parser<'a> { -> (ast::Item_, Vec<ast::Attribute> ) { let mut prefix = PathBuf::new(&self.sess.span_diagnostic.cm .span_to_filename(self.span)); - // FIXME(acrichto): right now "a".pop() == "a", but need to confirm with - // aturon whether this is expected or not. - if prefix.parent().is_some() { - prefix.pop(); - } else { - prefix = PathBuf::new(""); - } + prefix.pop(); let mut dir_path = prefix; for part in &self.mod_path_stack { dir_path.push(&**part); |
