Skip to content

Commit a4a38a2

Browse files
committed
---
yaml --- r: 98141 b: refs/heads/master c: 9fe5d16 h: refs/heads/master i: 98139: 56e07ba v: v3
1 parent 8e3c3b9 commit a4a38a2

File tree

36 files changed

+221
-125
lines changed

36 files changed

+221
-125
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: f63a7f598a0796b979ec3b626673168e5faa7f3f
2+
refs/heads/master: 9fe5d1620cc721165062b98229d7fc682f1547ee
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b6400f998497c3958f40997a71756ead344a776d
55
refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36

trunk/Makefile.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -371,9 +371,6 @@ DRIVER_CRATE := $(S)src/driver/driver.rs
371371
LLVM_COMPONENTS=x86 arm mips ipo bitreader bitwriter linker asmparser jit mcjit \
372372
interpreter instrumentation
373373

374-
# Only build these LLVM tools
375-
LLVM_TOOLS=bugpoint llc llvm-ar llvm-as llvm-dis llvm-mc opt
376-
377374
define DEF_LLVM_VARS
378375
# The configure script defines these variables with the target triples
379376
# separated by Z. This defines new ones with the expected format.

trunk/doc/index.md

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,52 @@
44
<style type="text/css">
55
#TOC { display: none; }
66
.header-section-number { display: none; }
7-
li {list-style-type: none; }
87
</style>
98

10-
* [The Rust tutorial](tutorial.html) (* [PDF](tutorial.pdf))
11-
* [The Rust reference manual](rust.html) (* [PDF](rust.pdf))
9+
[The Rust tutorial](tutorial.html) ([PDF](tutorial.pdf))
10+
[The Rust reference manual](rust.html) ([PDF](rust.pdf))
1211

1312
# Guides
1413

15-
* [Pointers](guide-pointers.html)
16-
* [References and Lifetimes](guide-lifetimes.html)
17-
* [Containers and Iterators](guide-container.html)
18-
* [Tasks and Communication](guide-tasks.html)
19-
* [Foreign Function Interface](guide-ffi.html)
20-
* [Macros](guide-macros.html)
21-
* [Packaging](guide-rustpkg.html)
22-
* [Testing](guide-testing.html)
23-
* [Conditions](guide-conditions.html)
24-
* [Rust's Runtime](guide-runtime.html)
14+
[Pointers](guide-pointers.html)
15+
[References and Lifetimes](guide-lifetimes.html)
16+
[Containers and Iterators](guide-container.html)
17+
[Tasks and Communication](guide-tasks.html)
18+
[Foreign Function Interface](guide-ffi.html)
19+
[Macros](guide-macros.html)
20+
[Packaging](guide-rustpkg.html)
21+
[Testing](guide-testing.html)
22+
[Conditions](guide-conditions.html)
23+
[Rust's Runtime](guide-runtime.html)
2524

2625
# Libraries
2726

28-
* [The standard library, `libstd`](std/index.html)
29-
* [The extra library, `libextra`](extra/index.html)
27+
[The standard library, `libstd`](std/index.html)
28+
[The extra library, `libextra`](extra/index.html)
3029

31-
* [The M:N runtime library, `libgreen`](green/index.html)
32-
* [The 1:1 runtime library, `libnative`](native/index.html)
30+
[The M:N runtime library, `libgreen`](green/index.html)
31+
[The 1:1 runtime library, `libnative`](native/index.html)
3332

34-
* [The Rust libuv library, `librustuv`](rustuv/index.html)
35-
* [The Rust packaging library, `librustpkg`](rustpkg/index.html)
33+
[The Rust libuv library, `librustuv`](rustuv/index.html)
34+
[The Rust packaging library, `librustpkg`](rustpkg/index.html)
3635

37-
* [The Rust parser, `libsyntax`](syntax/index.html)
38-
* [The Rust compiler, `librustc`](rustc/index.html)
36+
[The Rust parser, `libsyntax`](syntax/index.html)
37+
[The Rust compiler, `librustc`](rustc/index.html)
3938

4039
# Tooling
4140

42-
* [The `rustdoc` manual](rustdoc.html)
43-
* [The `rustpkg` manual](rustpkg.html)
41+
[The `rustpkg` manual](rustpkg.html)
4442

4543
# FAQs
4644

47-
* [Language FAQ](complement-lang-faq.html)
48-
* [Project FAQ](complement-project-faq.html)
49-
* [Usage FAQ](complement-usage-faq.html)
50-
* [Code cheatsheet](complement-cheatsheet.html) - "How do I do X?"
51-
* [How to submit a bug report](complement-bugreport.html)
45+
[Language FAQ](complement-lang-faq.html)
46+
[Project FAQ](complement-project-faq.html)
47+
[Usage FAQ](complement-usage-faq.html)
48+
[Code cheatsheet](complement-cheatsheet.html) - "How do I do X?"
49+
[How to submit a bug report](complement-bugreport.html)
5250

5351
# External resources
5452

55-
* The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
56-
* The Rust community on [Reddit](http://reddit.com/r/rust)
57-
* The Rust [wiki](http://github.com/mozilla/rust/wiki)
53+
The Rust [IRC channel](http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust) - `#rust` on irc.mozilla.org
54+
The Rust community on [Reddit](http://reddit.com/r/rust)
55+
The Rust [wiki](http://github.com/mozilla/rust/wiki)

trunk/mk/llvm.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ LLVM_STAMP_$(1) = $$(CFG_LLVM_BUILD_DIR_$(1))/llvm-auto-clean-stamp
2828

2929
$$(LLVM_CONFIG_$(1)): $$(LLVM_DEPS) $$(LLVM_STAMP_$(1))
3030
@$$(call E, make: llvm)
31-
$$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV_$(1)) ONLY_TOOLS="$$(LLVM_TOOLS)"
31+
$$(Q)$$(MAKE) -C $$(CFG_LLVM_BUILD_DIR_$(1)) $$(CFG_LLVM_BUILD_ENV_$(1))
3232
$$(Q)touch $$(LLVM_CONFIG_$(1))
3333
endif
3434

trunk/src/etc/vim/syntax/rust.vim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
8383
syn keyword rustTrait Times
8484

8585
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
86-
syn keyword rustTrait Bitwise Bounded Integer Fractional Real RealExt
86+
syn keyword rustTrait Bitwise BitCount Bounded
87+
syn keyword rustTrait Integer Fractional Real RealExt
8788
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul
8889
syn keyword rustTrait Orderable Signed Unsigned Round
8990
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive

trunk/src/libextra/base64.rs

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,25 @@ impl<'a> ToBase64 for &'a [u8] {
154154
pub trait FromBase64 {
155155
/// Converts the value of `self`, interpreted as base64 encoded data, into
156156
/// an owned vector of bytes, returning the vector.
157-
fn from_base64(&self) -> Result<~[u8], ~str>;
157+
fn from_base64(&self) -> Result<~[u8], FromBase64Error>;
158+
}
159+
160+
/// Errors that can occur when decoding a base64 encoded string
161+
pub enum FromBase64Error {
162+
/// The input contained a character not part of the base64 format
163+
InvalidBase64Character(char, uint),
164+
/// The input had an invalid length
165+
InvalidBase64Length,
166+
}
167+
168+
impl ToStr for FromBase64Error {
169+
fn to_str(&self) -> ~str {
170+
match *self {
171+
InvalidBase64Character(ch, idx) =>
172+
format!("Invalid character '{}' at position {}", ch, idx),
173+
InvalidBase64Length => ~"Invalid length",
174+
}
175+
}
158176
}
159177

160178
impl<'a> FromBase64 for &'a str {
@@ -188,7 +206,7 @@ impl<'a> FromBase64 for &'a str {
188206
* }
189207
* ```
190208
*/
191-
fn from_base64(&self) -> Result<~[u8], ~str> {
209+
fn from_base64(&self) -> Result<~[u8], FromBase64Error> {
192210
let mut r = ~[];
193211
let mut buf: u32 = 0;
194212
let mut modulus = 0;
@@ -205,8 +223,7 @@ impl<'a> FromBase64 for &'a str {
205223
'/'|'_' => buf |= 0x3F,
206224
'\r'|'\n' => continue,
207225
'=' => break,
208-
_ => return Err(format!("Invalid character '{}' at position {}",
209-
self.char_at(idx), idx))
226+
_ => return Err(InvalidBase64Character(self.char_at(idx), idx)),
210227
}
211228

212229
buf <<= 6;
@@ -221,8 +238,7 @@ impl<'a> FromBase64 for &'a str {
221238

222239
for (idx, byte) in it {
223240
if (byte as char) != '=' {
224-
return Err(format!("Invalid character '{}' at position {}",
225-
self.char_at(idx), idx));
241+
return Err(InvalidBase64Character(self.char_at(idx), idx));
226242
}
227243
}
228244

@@ -235,7 +251,7 @@ impl<'a> FromBase64 for &'a str {
235251
r.push((buf >> 8 ) as u8);
236252
}
237253
0 => (),
238-
_ => return Err(~"Invalid Base64 length")
254+
_ => return Err(InvalidBase64Length),
239255
}
240256

241257
Ok(r)

trunk/src/libextra/comm.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ mod test {
127127
// Rendezvous streams should be able to handle any number of messages being sent
128128
let (port, chan) = rendezvous();
129129
do spawn {
130-
1000000.times(|| { chan.send(()) })
130+
10000.times(|| { chan.send(()) })
131131
}
132-
1000000.times(|| { port.recv() })
132+
10000.times(|| { port.recv() })
133133
}
134134

135135
#[test]

trunk/src/libextra/enum_set.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
//! This module defines a container which uses an efficient bit mask
1414
//! representation to hold C-like enum variants.
1515
16-
use std::num::Bitwise;
17-
1816
#[deriving(Clone, Eq, IterBytes, ToStr, Encodable, Decodable)]
1917
/// A specialized Set implementation to use enum types.
2018
pub struct EnumSet<E> {

trunk/src/libextra/hex.rs

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,25 @@ impl<'a> ToHex for &'a [u8] {
5353
pub trait FromHex {
5454
/// Converts the value of `self`, interpreted as hexadecimal encoded data,
5555
/// into an owned vector of bytes, returning the vector.
56-
fn from_hex(&self) -> Result<~[u8], ~str>;
56+
fn from_hex(&self) -> Result<~[u8], FromHexError>;
57+
}
58+
59+
/// Errors that can occur when decoding a hex encoded string
60+
pub enum FromHexError {
61+
/// The input contained a character not part of the hex format
62+
InvalidHexCharacter(char, uint),
63+
/// The input had a invalid length
64+
InvalidHexLength,
65+
}
66+
67+
impl ToStr for FromHexError {
68+
fn to_str(&self) -> ~str {
69+
match *self {
70+
InvalidHexCharacter(ch, idx) =>
71+
format!("Invalid character '{}' at position {}", ch, idx),
72+
InvalidHexLength => ~"Invalid input length",
73+
}
74+
}
5775
}
5876

5977
impl<'a> FromHex for &'a str {
@@ -83,7 +101,7 @@ impl<'a> FromHex for &'a str {
83101
* }
84102
* ```
85103
*/
86-
fn from_hex(&self) -> Result<~[u8], ~str> {
104+
fn from_hex(&self) -> Result<~[u8], FromHexError> {
87105
// This may be an overestimate if there is any whitespace
88106
let mut b = vec::with_capacity(self.len() / 2);
89107
let mut modulus = 0;
@@ -100,8 +118,7 @@ impl<'a> FromHex for &'a str {
100118
buf >>= 4;
101119
continue
102120
}
103-
_ => return Err(format!("Invalid character '{}' at position {}",
104-
self.char_at(idx), idx))
121+
_ => return Err(InvalidHexCharacter(self.char_at(idx), idx)),
105122
}
106123

107124
modulus += 1;
@@ -113,7 +130,7 @@ impl<'a> FromHex for &'a str {
113130

114131
match modulus {
115132
0 => Ok(b),
116-
_ => Err(~"Invalid input length")
133+
_ => Err(InvalidHexLength),
117134
}
118135
}
119136
}

trunk/src/libextra/num/bigint.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ A `BigInt` is a combination of `BigUint` and `Sign`.
2222
use std::cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
2323
use std::num;
2424
use std::num::{Zero, One, ToStrRadix, FromStrRadix, Orderable};
25-
use std::num::{Bitwise, ToPrimitive, FromPrimitive};
25+
use std::num::{ToPrimitive, FromPrimitive};
2626
use std::rand::Rng;
2727
use std::str;
2828
use std::uint;

trunk/src/libnative/bookkeeping.rs renamed to trunk/src/libnative/bookeeping.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -8,13 +8,13 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
//! 1:1 Task bookkeeping
11+
//! 1:1 Task bookeeping
1212
//!
1313
//! This module keeps track of the number of running 1:1 tasks so that entry
1414
//! points with libnative know when it's possible to exit the program (once all
1515
//! tasks have exited).
1616
//!
17-
//! The green counterpart for this is bookkeeping on sched pools.
17+
//! The green counterpart for this is bookeeping on sched pools.
1818
1919
use std::sync::atomics;
2020
use std::unstable::mutex::{Mutex, MUTEX_INIT};

trunk/src/libnative/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -29,7 +29,7 @@
2929
use std::os;
3030
use std::rt;
3131

32-
mod bookkeeping;
32+
mod bookeeping;
3333
pub mod io;
3434
pub mod task;
3535

@@ -75,6 +75,6 @@ pub fn start(argc: int, argv: **u8, main: proc()) -> int {
7575
/// number of arguments.
7676
pub fn run(main: proc()) -> int {
7777
main();
78-
bookkeeping::wait_for_other_tasks();
78+
bookeeping::wait_for_other_tasks();
7979
os::get_exit_status()
8080
}

trunk/src/libnative/task.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
1+
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
22
// file at the top-level directory of this distribution and at
33
// http://rust-lang.org/COPYRIGHT.
44
//
@@ -27,7 +27,7 @@ use std::unstable::stack;
2727

2828
use io;
2929
use task;
30-
use bookkeeping;
30+
use bookeeping;
3131

3232
/// Creates a new Task which is ready to execute as a 1:1 task.
3333
pub fn new(stack_bounds: (uint, uint)) -> ~Task {
@@ -82,7 +82,7 @@ pub fn spawn_opts(opts: TaskOpts, f: proc()) {
8282
// Note that this increment must happen *before* the spawn in order to
8383
// guarantee that if this task exits it will always end up waiting for the
8484
// spawned task to exit.
85-
bookkeeping::increment();
85+
bookeeping::increment();
8686

8787
// Spawning a new OS thread guarantees that __morestack will never get
8888
// triggered, but we must manually set up the actual stack bounds once this
@@ -104,7 +104,7 @@ pub fn spawn_opts(opts: TaskOpts, f: proc()) {
104104
let mut task = task;
105105
task.put_runtime(ops as ~rt::Runtime);
106106
task.run(|| { f.take_unwrap()() });
107-
bookkeeping::decrement();
107+
bookeeping::decrement();
108108
})
109109
}
110110

trunk/src/librustc/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,7 @@ pub fn optgroups() -> ~[getopts::groups::OptGroup] {
10111011
for details)", "FEATURE"),
10121012
optopt("", "android-cross-path",
10131013
"The path to the Android NDK", "PATH"),
1014-
optmulti("W", "warn",
1014+
optflagopt("W", "warn",
10151015
"Set lint warnings", "OPT"),
10161016
optmulti("A", "allow",
10171017
"Set lint allowed", "OPT"),

trunk/src/librustc/lib.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,9 +227,14 @@ pub fn run_compiler(args: &[~str], demitter: @diagnostic::Emitter) {
227227
return;
228228
}
229229

230+
// Display the available lint options if "-W help" or only "-W" is given.
230231
let lint_flags = vec::append(matches.opt_strs("W"),
231232
matches.opt_strs("warn"));
232-
if lint_flags.iter().any(|x| x == &~"help") {
233+
234+
let show_lint_options = lint_flags.iter().any(|x| x == &~"help") ||
235+
(matches.opt_present("W") && lint_flags.is_empty());
236+
237+
if show_lint_options {
233238
describe_warnings();
234239
return;
235240
}

trunk/src/librustc/util/sha2.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,6 @@ static H256: [u32, ..8] = [
523523
#[cfg(test)]
524524
mod tests {
525525
use super::{Digest, Sha256, FixedBuffer};
526-
use std::num::Bounded;
527526
use std::vec;
528527
use std::rand::isaac::IsaacRng;
529528
use std::rand::Rng;

trunk/src/librustpkg/sha1.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,6 @@ impl Digest for Sha1 {
445445

446446
#[cfg(test)]
447447
mod tests {
448-
use std::num::Bounded;
449448
use std::rand::{IsaacRng, Rng};
450449
use std::vec;
451450
use extra::hex::FromHex;

trunk/src/libstd/num/f32.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use cmath;
1717
use default::Default;
1818
use libc::{c_float, c_int};
1919
use num::{FPCategory, FPNaN, FPInfinite , FPZero, FPSubnormal, FPNormal};
20-
use num::{Zero, One, Bounded, strconv};
20+
use num::{Zero, One, strconv};
2121
use num;
2222
use to_str;
2323
use unstable::intrinsics;

0 commit comments

Comments
 (0)