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]
This commit is contained in:
parent
f899513a30
commit
42c4e481cd
36 changed files with 405 additions and 317 deletions
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue