about summary refs log tree commit diff
path: root/src/librustdoc
diff options
context:
space:
mode:
authorAaron Turon <aturon@mozilla.com>2015-03-09 08:49:10 -0700
committerAaron Turon <aturon@mozilla.com>2015-03-12 16:38:58 -0700
commit42c4e481cd98bd392839144c9ac83e55e445a12a (patch)
tree9b630066fe5ee9a68f31f65f4a09be0f8a47faad /src/librustdoc
parentf899513a30165946a75ff7f515ab37a226e72172 (diff)
downloadrust-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/librustdoc')
-rw-r--r--src/librustdoc/lib.rs3
-rw-r--r--src/librustdoc/plugins.rs2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs
index c203dc0e719..246004751c5 100644
--- a/src/librustdoc/lib.rs
+++ b/src/librustdoc/lib.rs
@@ -37,9 +37,9 @@
 #![feature(unicode)]
 #![feature(str_words)]
 #![feature(io)]
-#![feature(path)]
 #![feature(file_path)]
 #![feature(path_ext)]
+#![feature(path_relative_from)]
 
 extern crate arena;
 extern crate getopts;
@@ -362,6 +362,7 @@ fn parse_externs(matches: &getopts::Matches) -> Result<core::Externs, String> {
 /// generated from the cleaned AST of the crate.
 ///
 /// This form of input will run all of the plug/cleaning passes
+#[allow(deprecated)] // for old Path in plugin manager
 fn rust_input(cratefile: &str, externs: core::Externs, matches: &getopts::Matches) -> Output {
     let mut default_passes = !matches.opt_present("no-defaults");
     let mut passes = matches.opt_strs("passes");
diff --git a/src/librustdoc/plugins.rs b/src/librustdoc/plugins.rs
index b65b2841aa0..3db0162969f 100644
--- a/src/librustdoc/plugins.rs
+++ b/src/librustdoc/plugins.rs
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+#![allow(deprecated)] // old path, used for compatibility with dynamic lib
+
 use clean;
 
 use std::dynamic_lib as dl;