Skip to content

Commit 7599770

Browse files
committed
---
yaml --- r: 193983 b: refs/heads/beta c: 3e3408d h: refs/heads/master i: 193981: c01f545 193979: ff86c84 193975: 1b454ed 193967: 639f840 193951: 6e0c649 193919: 77cdd58 v: v3
1 parent 4485dda commit 7599770

File tree

28 files changed

+84
-312
lines changed

28 files changed

+84
-312
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
3232
refs/heads/batch: b7fd822592a4fb577552d93010c4a4e14f314346
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
34-
refs/heads/beta: e2d32b74ecedc3f603def4d5130c0c300edce7d1
34+
refs/heads/beta: 3e3408de0f73f7df7c8a626c64ff4d704f08353d
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
3737
refs/heads/tmp: de8a23bbc3a7b9cbd7574b5b91a34af59bf030e6

branches/beta/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
# make check-stage1-rpass TESTNAME=my-shiny-new-test
9898
#
9999
# // Having trouble figuring out which test is failing? Turn off parallel tests
100-
# make check-stage1-std RUST_TEST_THREADS=1
100+
# make check-stage1-std RUST_TEST_TASKS=1
101101
#
102102
# This is hardly all there is to know of The Rust Build System's
103103
# mysteries. The tale continues on the wiki[1].

branches/beta/src/compiletest/compiletest.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,15 @@ pub fn run_tests(config: &Config) {
224224
// android debug-info test uses remote debugger
225225
// so, we test 1 task at once.
226226
// also trying to isolate problems with adb_run_wrapper.sh ilooping
227-
env::set_var("RUST_TEST_THREADS","1");
227+
env::set_var("RUST_TEST_TASKS","1");
228228
}
229229

230230
match config.mode {
231231
DebugInfoLldb => {
232232
// Some older versions of LLDB seem to have problems with multiple
233233
// instances running in parallel, so only run one test task at a
234234
// time.
235-
env::set_var("RUST_TEST_THREADS", "1");
235+
env::set_var("RUST_TEST_TASKS", "1");
236236
}
237237
_ => { /* proceed */ }
238238
}

branches/beta/src/compiletest/header.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ pub fn load_props(testfile: &Path) -> TestProps {
131131
true
132132
});
133133

134-
for key in vec!["RUST_TEST_NOCAPTURE", "RUST_TEST_THREADS"] {
134+
for key in vec!["RUST_TEST_NOCAPTURE", "RUST_TEST_TASKS"] {
135135
match env::var(key) {
136136
Ok(val) =>
137137
if exec_env.iter().find(|&&(ref x, _)| *x == key.to_string()).is_none() {

branches/beta/src/libcore/num/mod.rs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -345,16 +345,6 @@ pub trait Int
345345

346346
/// Saturating integer addition. Computes `self + other`, saturating at
347347
/// the numeric bounds instead of overflowing.
348-
///
349-
/// # Examples
350-
///
351-
/// ```
352-
/// use std::num::Int;
353-
///
354-
/// assert_eq!(5u16.saturating_add(65534), 65535);
355-
/// assert_eq!((-5i16).saturating_add(-32767), -32768);
356-
/// assert_eq!(100u32.saturating_add(4294967294), 4294967295);
357-
/// ```
358348
#[stable(feature = "rust1", since = "1.0.0")]
359349
#[inline]
360350
fn saturating_add(self, other: Self) -> Self {
@@ -367,16 +357,6 @@ pub trait Int
367357

368358
/// Saturating integer subtraction. Computes `self - other`, saturating at
369359
/// the numeric bounds instead of overflowing.
370-
///
371-
/// # Examples
372-
///
373-
/// ```
374-
/// use std::num::Int;
375-
///
376-
/// assert_eq!(5u16.saturating_sub(65534), 0);
377-
/// assert_eq!(5i16.saturating_sub(-32767), 32767);
378-
/// assert_eq!(100u32.saturating_sub(4294967294), 0);
379-
/// ```
380360
#[stable(feature = "rust1", since = "1.0.0")]
381361
#[inline]
382362
fn saturating_sub(self, other: Self) -> Self {

branches/beta/src/librustc/middle/astencode.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -235,27 +235,12 @@ impl<'a, 'b, 'tcx> DecodeContext<'a, 'b, 'tcx> {
235235
pub fn tr_span(&self, span: Span) -> Span {
236236
let imported_filemaps = &self.cdata.codemap_import_info[..];
237237

238-
let span = if span.lo > span.hi {
239-
// Currently macro expansion sometimes produces invalid Span values
240-
// where lo > hi. In order not to crash the compiler when trying to
241-
// translate these values, let's transform them into something we
242-
// can handle (and which will produce useful debug locations at
243-
// least some of the time).
244-
// This workaround is only necessary as long as macro expansion is
245-
// not fixed. FIXME(#23480)
246-
codemap::mk_sp(span.lo, span.lo)
247-
} else {
248-
span
249-
};
250-
251238
let filemap_index = {
252239
// Optimize for the case that most spans within a translated item
253240
// originate from the same filemap.
254241
let last_filemap_index = self.last_filemap_index.get();
255242

256243
if span.lo >= imported_filemaps[last_filemap_index].original_start_pos &&
257-
span.lo <= imported_filemaps[last_filemap_index].original_end_pos &&
258-
span.hi >= imported_filemaps[last_filemap_index].original_start_pos &&
259244
span.hi <= imported_filemaps[last_filemap_index].original_end_pos {
260245
last_filemap_index
261246
} else {

branches/beta/src/librustc_back/tempdir.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ impl TempDir {
6161
let path = tmpdir.join(&leaf);
6262
match fs::create_dir(&path) {
6363
Ok(_) => return Ok(TempDir { path: Some(path) }),
64-
Err(ref e) if e.kind() == ErrorKind::AlreadyExists => {}
64+
Err(ref e) if e.kind() == ErrorKind::PathAlreadyExists => {}
6565
Err(e) => return Err(e)
6666
}
6767
}
6868

69-
Err(Error::new(ErrorKind::AlreadyExists,
69+
Err(Error::new(ErrorKind::PathAlreadyExists,
7070
"too many temporary directories already exist",
7171
None))
7272
}

branches/beta/src/librustdoc/html/render.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -692,23 +692,16 @@ fn shortty(item: &clean::Item) -> ItemType {
692692

693693
/// Takes a path to a source file and cleans the path to it. This canonicalizes
694694
/// things like ".." to components which preserve the "top down" hierarchy of a
695-
/// static HTML tree. Each component in the cleaned path will be passed as an
696-
/// argument to `f`. The very last component of the path (ie the file name) will
697-
/// be passed to `f` if `keep_filename` is true, and ignored otherwise.
695+
/// static HTML tree.
698696
// FIXME (#9639): The closure should deal with &[u8] instead of &str
699697
// FIXME (#9639): This is too conservative, rejecting non-UTF-8 paths
700-
fn clean_srcpath<F>(src_root: &Path, p: &Path, keep_filename: bool, mut f: F) where
698+
fn clean_srcpath<F>(src_root: &Path, p: &Path, mut f: F) where
701699
F: FnMut(&str),
702700
{
703701
// make it relative, if possible
704702
let p = p.relative_from(src_root).unwrap_or(p);
705703

706-
let mut iter = p.iter().map(|x| x.to_str().unwrap()).peekable();
707-
while let Some(c) = iter.next() {
708-
if !keep_filename && iter.peek().is_none() {
709-
break;
710-
}
711-
704+
for c in p.iter().map(|x| x.to_str().unwrap()) {
712705
if ".." == c {
713706
f("up");
714707
} else {
@@ -810,7 +803,7 @@ impl<'a> SourceCollector<'a> {
810803
// Create the intermediate directories
811804
let mut cur = self.dst.clone();
812805
let mut root_path = String::from_str("../../");
813-
clean_srcpath(&self.cx.src_root, &p, false, |component| {
806+
clean_srcpath(&self.cx.src_root, &p, |component| {
814807
cur.push(component);
815808
mkdir(&cur).unwrap();
816809
root_path.push_str("../");
@@ -1375,7 +1368,7 @@ impl<'a> Item<'a> {
13751368
if ast_util::is_local(self.item.def_id) {
13761369
let mut path = Vec::new();
13771370
clean_srcpath(&cx.src_root, Path::new(&self.item.source.filename),
1378-
true, |component| {
1371+
|component| {
13791372
path.push(component.to_string());
13801373
});
13811374
let href = if self.item.source.loline == self.item.source.hiline {

branches/beta/src/librustdoc/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#![feature(test)]
3636
#![feature(unicode)]
3737
#![feature(str_words)]
38+
#![feature(io)]
3839
#![feature(file_path)]
3940
#![feature(path_ext)]
4041
#![feature(path_relative_from)]

branches/beta/src/libserialize/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Core encoding and decoding interfaces.
3131
#![feature(collections)]
3232
#![feature(core)]
3333
#![feature(int_uint)]
34+
#![feature(io)]
3435
#![feature(old_path)]
3536
#![feature(rustc_private)]
3637
#![feature(staged_api)]

branches/beta/src/libstd/fs/mod.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ pub struct Metadata(fs_imp::FileAttr);
7373
/// will yield instances of `io::Result<DirEntry>`. Through a `DirEntry`
7474
/// information like the entry's path and possibly other metadata can be
7575
/// learned.
76+
///
77+
/// # Failure
78+
///
79+
/// This `io::Result` will be an `Err` if there's some sort of intermittent
80+
/// IO error during iteration.
7681
#[stable(feature = "rust1", since = "1.0.0")]
7782
pub struct ReadDir(fs_imp::ReadDir);
7883

@@ -493,7 +498,7 @@ pub fn copy<P: AsPath, Q: AsPath>(from: P, to: Q) -> io::Result<u64> {
493498
let from = from.as_path();
494499
let to = to.as_path();
495500
if !from.is_file() {
496-
return Err(Error::new(ErrorKind::InvalidInput,
501+
return Err(Error::new(ErrorKind::MismatchedFileTypeForOperation,
497502
"the source path is not an existing file",
498503
None))
499504
}
@@ -1134,7 +1139,7 @@ mod tests {
11341139
let dir = &tmpdir.join("mkdir_error_twice");
11351140
check!(fs::create_dir(dir));
11361141
let e = fs::create_dir(dir).err().unwrap();
1137-
assert_eq!(e.kind(), ErrorKind::AlreadyExists);
1142+
assert_eq!(e.kind(), ErrorKind::PathAlreadyExists);
11381143
}
11391144

11401145
#[test]

branches/beta/src/libstd/fs/tempdir.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ impl TempDir {
6868
let path = tmpdir.join(&leaf);
6969
match fs::create_dir(&path) {
7070
Ok(_) => return Ok(TempDir { path: Some(path) }),
71-
Err(ref e) if e.kind() == ErrorKind::AlreadyExists => {}
71+
Err(ref e) if e.kind() == ErrorKind::PathAlreadyExists => {}
7272
Err(e) => return Err(e)
7373
}
7474
}
7575

76-
Err(Error::new(ErrorKind::AlreadyExists,
76+
Err(Error::new(ErrorKind::PathAlreadyExists,
7777
"too many temporary directories already exist",
7878
None))
7979
}

branches/beta/src/libstd/io/error.rs

Lines changed: 21 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -51,77 +51,53 @@ struct Custom {
5151
}
5252

5353
/// A list specifying general categories of I/O error.
54-
///
55-
/// This list is intended to grow over time and it is not recommended to
56-
/// exhaustively match against it.
5754
#[derive(Copy, PartialEq, Eq, Clone, Debug)]
58-
#[stable(feature = "rust1", since = "1.0.0")]
55+
#[unstable(feature = "io",
56+
reason = "the interaction between OS error codes and how they map to \
57+
these names (as well as the names themselves) has not \
58+
been thoroughly thought out")]
5959
pub enum ErrorKind {
60-
/// An entity was not found, often a file.
61-
#[stable(feature = "rust1", since = "1.0.0")]
62-
NotFound,
63-
/// The operation lacked the necessary privileges to complete.
64-
#[stable(feature = "rust1", since = "1.0.0")]
60+
/// The file was not found.
61+
FileNotFound,
62+
/// The file permissions disallowed access to this file.
6563
PermissionDenied,
6664
/// The connection was refused by the remote server.
67-
#[stable(feature = "rust1", since = "1.0.0")]
6865
ConnectionRefused,
6966
/// The connection was reset by the remote server.
70-
#[stable(feature = "rust1", since = "1.0.0")]
7167
ConnectionReset,
7268
/// The connection was aborted (terminated) by the remote server.
73-
#[stable(feature = "rust1", since = "1.0.0")]
7469
ConnectionAborted,
7570
/// The network operation failed because it was not connected yet.
76-
#[stable(feature = "rust1", since = "1.0.0")]
7771
NotConnected,
78-
/// A socket address could not be bound because the address is already in
79-
/// use elsewhere.
80-
#[stable(feature = "rust1", since = "1.0.0")]
81-
AddrInUse,
82-
/// A nonexistent interface was requested or the requested address was not
83-
/// local.
84-
#[stable(feature = "rust1", since = "1.0.0")]
85-
AddrNotAvailable,
8672
/// The operation failed because a pipe was closed.
87-
#[stable(feature = "rust1", since = "1.0.0")]
8873
BrokenPipe,
89-
/// An entity already exists, often a file.
90-
#[stable(feature = "rust1", since = "1.0.0")]
91-
AlreadyExists,
92-
/// The operation needs to block to complete, but the blocking operation was
93-
/// requested to not occur.
94-
#[stable(feature = "rust1", since = "1.0.0")]
95-
WouldBlock,
96-
/// A parameter was incorrect.
97-
#[stable(feature = "rust1", since = "1.0.0")]
74+
/// A file already existed with that name.
75+
PathAlreadyExists,
76+
/// No file exists at that location.
77+
PathDoesntExist,
78+
/// The path did not specify the type of file that this operation required.
79+
/// For example, attempting to copy a directory with the `fs::copy()`
80+
/// operation will fail with this error.
81+
MismatchedFileTypeForOperation,
82+
/// The operation temporarily failed (for example, because a signal was
83+
/// received), and retrying may succeed.
84+
ResourceUnavailable,
85+
/// A parameter was incorrect in a way that caused an I/O error not part of
86+
/// this list.
9887
InvalidInput,
9988
/// The I/O operation's timeout expired, causing it to be canceled.
100-
#[stable(feature = "rust1", since = "1.0.0")]
10189
TimedOut,
10290
/// An error returned when an operation could not be completed because a
10391
/// call to `write` returned `Ok(0)`.
10492
///
10593
/// This typically means that an operation could only succeed if it wrote a
10694
/// particular number of bytes but only a smaller number of bytes could be
10795
/// written.
108-
#[stable(feature = "rust1", since = "1.0.0")]
10996
WriteZero,
110-
/// This operation was interrupted.
111-
///
112-
/// Interrupted operations can typically be retried.
113-
#[stable(feature = "rust1", since = "1.0.0")]
97+
/// This operation was interrupted
11498
Interrupted,
11599
/// Any I/O error not part of this list.
116-
#[stable(feature = "rust1", since = "1.0.0")]
117100
Other,
118-
119-
/// Any I/O error not part of this list.
120-
#[unstable(feature = "std_misc",
121-
reason = "better expressed through extensible enums that this \
122-
enum cannot be exhaustively matched against")]
123-
#[doc(hidden)]
124-
__Nonexhaustive,
125101
}
126102

127103
impl Error {
@@ -158,19 +134,6 @@ impl Error {
158134
Error { repr: Repr::Os(code) }
159135
}
160136

161-
/// Returns the OS error that this error represents (if any).
162-
///
163-
/// If this `Error` was constructed via `last_os_error` then this function
164-
/// will return `Some`, otherwise it will return `None`.
165-
#[unstable(feature = "io", reason = "function was just added and the return \
166-
type may become an abstract OS error")]
167-
pub fn raw_os_error(&self) -> Option<i32> {
168-
match self.repr {
169-
Repr::Os(i) => Some(i),
170-
Repr::Custom(..) => None,
171-
}
172-
}
173-
174137
/// Return the corresponding `ErrorKind` for this error.
175138
#[stable(feature = "rust1", since = "1.0.0")]
176139
pub fn kind(&self) -> ErrorKind {

branches/beta/src/libstd/net/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ pub use self::ip::{Ipv4Addr, Ipv6Addr, Ipv6MulticastScope};
2525
pub use self::addr::{SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
2626
pub use self::tcp::{TcpStream, TcpListener};
2727
pub use self::udp::UdpSocket;
28-
pub use self::parser::AddrParseError;
2928

3029
mod ip;
3130
mod addr;

0 commit comments

Comments
 (0)