ff49733274
This commit stabilizes and deprecates library APIs whose FCP has closed in the last cycle, specifically: Stabilized APIs: * `fs::canonicalize` * `Path::{metadata, symlink_metadata, canonicalize, read_link, read_dir, exists, is_file, is_dir}` - all moved to inherent methods from the `PathExt` trait. * `Formatter::fill` * `Formatter::width` * `Formatter::precision` * `Formatter::sign_plus` * `Formatter::sign_minus` * `Formatter::alternate` * `Formatter::sign_aware_zero_pad` * `string::ParseError` * `Utf8Error::valid_up_to` * `Iterator::{cmp, partial_cmp, eq, ne, lt, le, gt, ge}` * `<[T]>::split_{first,last}{,_mut}` * `Condvar::wait_timeout` - note that `wait_timeout_ms` is not yet deprecated but will be once 1.5 is released. * `str::{R,}MatchIndices` * `str::{r,}match_indices` * `char::from_u32_unchecked` * `VecDeque::insert` * `VecDeque::shrink_to_fit` * `VecDeque::as_slices` * `VecDeque::as_mut_slices` * `VecDeque::swap_remove_front` - (renamed from `swap_front_remove`) * `VecDeque::swap_remove_back` - (renamed from `swap_back_remove`) * `Vec::resize` * `str::slice_mut_unchecked` * `FileTypeExt` * `FileTypeExt::{is_block_device, is_char_device, is_fifo, is_socket}` * `BinaryHeap::from` - `from_vec` deprecated in favor of this * `BinaryHeap::into_vec` - plus a `Into` impl * `BinaryHeap::into_sorted_vec` Deprecated APIs * `slice::ref_slice` * `slice::mut_ref_slice` * `iter::{range_inclusive, RangeInclusive}` * `std::dynamic_lib` Closes #27706 Closes #27725 cc #27726 (align not stabilized yet) Closes #27734 Closes #27737 Closes #27742 Closes #27743 Closes #27772 Closes #27774 Closes #27777 Closes #27781 cc #27788 (a few remaining methods though) Closes #27790 Closes #27793 Closes #27796 Closes #27810 cc #28147 (not all parts stabilized)
41 lines
1.3 KiB
Rust
41 lines
1.3 KiB
Rust
// Copyright 2013-2014 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.
|
|
|
|
// This test can't be a unit test in std,
|
|
// because it needs TempDir, which is in extra
|
|
|
|
// ignore-cross-compile
|
|
|
|
#![feature(rustc_private)]
|
|
|
|
extern crate rustc_back;
|
|
|
|
use std::ffi::CString;
|
|
use std::fs::{self, File};
|
|
use rustc_back::tempdir::TempDir;
|
|
|
|
fn rename_directory() {
|
|
let tmpdir = TempDir::new("rename_directory").ok().expect("rename_directory failed");
|
|
let tmpdir = tmpdir.path();
|
|
let old_path = tmpdir.join("foo/bar/baz");
|
|
fs::create_dir_all(&old_path).unwrap();
|
|
let test_file = &old_path.join("temp.txt");
|
|
|
|
File::create(test_file).unwrap();
|
|
|
|
let new_path = tmpdir.join("quux/blat");
|
|
fs::create_dir_all(&new_path).unwrap();
|
|
fs::rename(&old_path, &new_path.join("newdir"));
|
|
assert!(new_path.join("newdir").is_dir());
|
|
assert!(new_path.join("newdir/temp.txt").exists());
|
|
}
|
|
|
|
pub fn main() { rename_directory() }
|