Skip to content

Commit 9fade92

Browse files
committed
---
yaml --- r: 151154 b: refs/heads/try2 c: ff25d62 h: refs/heads/master v: v3
1 parent a9be9d0 commit 9fade92

File tree

5 files changed

+53
-13
lines changed

5 files changed

+53
-13
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: bc330063d864d822542ede85ff23d854702675be
8+
refs/heads/try2: ff25d62165cbd74e98c569aa74feedbb3ca181e3
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/libnum/bigint.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,8 @@ impl Sub<BigUint, BigUint> for BigUint {
230230
lo
231231
}).collect();
232232

233-
assert_eq!(borrow, 0); // <=> assert!((self >= other));
233+
assert!(borrow == 0,
234+
"Cannot subtract other from self because other is larger than self.");
234235
return BigUint::new(diff);
235236
}
236237
}
@@ -1755,6 +1756,13 @@ mod biguint_tests {
17551756
}
17561757
}
17571758

1759+
#[test]
1760+
#[should_fail]
1761+
fn test_sub_fail_on_underflow() {
1762+
let (a, b) : (BigUint, BigUint) = (Zero::zero(), One::one());
1763+
a - b;
1764+
}
1765+
17581766
static mul_triples: &'static [(&'static [BigDigit],
17591767
&'static [BigDigit],
17601768
&'static [BigDigit])] = &[

branches/try2/src/libstd/io/mod.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1408,7 +1408,21 @@ pub fn standard_error(kind: IoErrorKind) -> IoError {
14081408
EndOfFile => "end of file",
14091409
IoUnavailable => "I/O is unavailable",
14101410
InvalidInput => "invalid input",
1411-
_ => fail!()
1411+
OtherIoError => "unknown I/O error",
1412+
FileNotFound => "file not found",
1413+
PermissionDenied => "permission denied",
1414+
ConnectionFailed => "connection failed",
1415+
Closed => "stream is closed",
1416+
ConnectionRefused => "connection refused",
1417+
ConnectionReset => "connection reset",
1418+
ConnectionAborted => "connection aborted",
1419+
NotConnected => "not connected",
1420+
BrokenPipe => "broken pipe",
1421+
PathAlreadyExists => "file exists",
1422+
PathDoesntExist => "no such file",
1423+
MismatchedFileTypeForOperation => "mismatched file type",
1424+
ResourceUnavailable => "resource unavailable",
1425+
TimedOut => "operation timed out"
14121426
};
14131427
IoError {
14141428
kind: kind,

branches/try2/src/libstd/num/int_macros.rs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,16 +234,15 @@ impl Primitive for $T {}
234234

235235
// String conversion functions and impl str -> num
236236

237-
/// Parse a byte slice as a number in the given base.
237+
/// Parse a byte slice as a number in the given base
238238
///
239239
/// Yields an `Option` because `buf` may or may not actually be parseable.
240240
///
241241
/// # Examples
242242
///
243-
/// ```rust
244-
/// let digits = [49,50,51,52,53,54,55,56,57];
245-
/// let base = 10;
246-
/// let num = std::i64::parse_bytes(digits, base);
243+
/// ```
244+
/// let num = std::i64::parse_bytes([49,50,51,52,53,54,55,56,57], 10);
245+
/// assert!(num == Some(123456789));
247246
/// ```
248247
#[inline]
249248
pub fn parse_bytes(buf: &[u8], radix: uint) -> Option<$T> {
@@ -270,6 +269,16 @@ impl FromStrRadix for $T {
270269
// String conversion functions and impl num -> str
271270

272271
/// Convert to a string as a byte slice in a given base.
272+
///
273+
/// Use in place of x.to_str() when you do not need to store the string permanently
274+
///
275+
/// # Examples
276+
///
277+
/// ```
278+
/// std::int::to_str_bytes(123, 10, |v| {
279+
/// assert!(v == "123".as_bytes());
280+
/// });
281+
/// ```
273282
#[inline]
274283
pub fn to_str_bytes<U>(n: $T, radix: uint, f: |v: &[u8]| -> U) -> U {
275284
// The radix can be as low as 2, so we need at least 64 characters for a

branches/try2/src/libstd/num/uint_macros.rs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,15 @@ impl Int for $T {}
148148

149149
// String conversion functions and impl str -> num
150150

151-
/// Parse a byte slice as a number in the given base.
151+
/// Parse a byte slice as a number in the given base
152152
///
153153
/// Yields an `Option` because `buf` may or may not actually be parseable.
154154
///
155155
/// # Examples
156156
///
157-
/// ```rust
158-
/// let digits = [49,50,51,52,53,54,55,56,57];
159-
/// let base = 10;
160-
/// let num = std::i64::parse_bytes(digits, base);
157+
/// ```
158+
/// let num = std::uint::parse_bytes([49,50,51,52,53,54,55,56,57], 10);
159+
/// assert!(num == Some(123456789));
161160
/// ```
162161
#[inline]
163162
pub fn parse_bytes(buf: &[u8], radix: uint) -> Option<$T> {
@@ -184,6 +183,16 @@ impl FromStrRadix for $T {
184183
// String conversion functions and impl num -> str
185184

186185
/// Convert to a string as a byte slice in a given base.
186+
///
187+
/// Use in place of x.to_str() when you do not need to store the string permanently
188+
///
189+
/// # Examples
190+
///
191+
/// ```
192+
/// std::uint::to_str_bytes(123, 10, |v| {
193+
/// assert!(v == "123".as_bytes());
194+
/// });
195+
/// ```
187196
#[inline]
188197
pub fn to_str_bytes<U>(n: $T, radix: uint, f: |v: &[u8]| -> U) -> U {
189198
// The radix can be as low as 2, so we need at least 64 characters for a

0 commit comments

Comments
 (0)