42c4e481cd
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]
27 lines
812 B
Rust
27 lines
812 B
Rust
// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
|
|
// file at the top-level directory of this distribution and at
|
|
// http://rust-lang.org/COPYRIGHT.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
// option. This file may not be copied, modified, or distributed
|
|
// except according to those terms.
|
|
|
|
#![crate_type = "rlib"]
|
|
#![omit_gdb_pretty_printer_section]
|
|
|
|
// no-prefer-dynamic
|
|
// compile-flags:-g
|
|
|
|
pub fn generic_function<T: Clone>(val: T) -> (T, T) {
|
|
let result = (val.clone(), val.clone());
|
|
let a_variable: u32 = 123456789;
|
|
let another_variable: f64 = 123456789.5;
|
|
zzz();
|
|
result
|
|
}
|
|
|
|
#[inline(never)]
|
|
fn zzz() {()}
|