Skip to content

Commit d4b5d82

Browse files
committed
core: Add unwrap()/unwrap_err() methods to Result
These implementations must live in libstd right now because the fmt module has not been migrated yet. This will occur in a later PR. Just to be clear, there are new extension traits, but they are not necessary once the std::fmt module has migrated to libcore, which is a planned migration in the future.
1 parent a156534 commit d4b5d82

File tree

12 files changed

+327
-6
lines changed

12 files changed

+327
-6
lines changed

src/libstd/fmt/num.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ mod bench {
400400
use super::test::Bencher;
401401
use fmt::radix;
402402
use rand::{XorShiftRng, Rng};
403+
use realstd::result::ResultUnwrap;
403404

404405
#[bench]
405406
fn format_bin(b: &mut Bencher) {
@@ -436,6 +437,7 @@ mod bench {
436437
use super::test::Bencher;
437438
use fmt::radix;
438439
use rand::{XorShiftRng, Rng};
440+
use realstd::result::ResultUnwrap;
439441

440442
#[bench]
441443
fn format_bin(b: &mut Bencher) {

src/libstd/io/buffered.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use io::{Reader, Writer, Stream, Buffer, DEFAULT_BUF_SIZE, IoResult};
1616
use iter::ExactSize;
1717
use ops::Drop;
1818
use option::{Some, None, Option};
19-
use result::{Ok, Err};
19+
use result::{Ok, Err, ResultUnwrap};
2020
use slice::{ImmutableVector, MutableVector};
2121
use slice;
2222
use vec::Vec;

src/libstd/io/fs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,7 @@ mod test {
13351335
use rand::{StdRng, Rng};
13361336

13371337
let mut bytes = [0, ..1024];
1338-
StdRng::new().unwrap().fill_bytes(bytes);
1338+
StdRng::new().ok().unwrap().fill_bytes(bytes);
13391339

13401340
let tmpdir = tmpdir();
13411341

src/libstd/io/net/udp.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,8 @@ mod test {
358358
})
359359

360360
pub fn socket_name(addr: SocketAddr) {
361+
use result::ResultUnwrap;
362+
361363
let server = UdpSocket::bind(addr);
362364

363365
assert!(server.is_ok());

src/libstd/io/stdio.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use mem::replace;
3636
use option::{Option, Some, None};
3737
use owned::Box;
3838
use prelude::drop;
39-
use result::{Ok, Err};
39+
use result::{Ok, Err, ResultUnwrap};
4040
use rt;
4141
use rt::local::Local;
4242
use rt::rtio::{DontClose, IoFactory, LocalIo, RtioFileStream, RtioTTY};

src/libstd/io/tempfile.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use ops::Drop;
1818
use option::{Option, None, Some};
1919
use os;
2020
use path::{Path, GenericPath};
21-
use result::{Ok, Err};
21+
use result::{Ok, Err, ResultUnwrap};
2222
use sync::atomics;
2323

2424
/// A wrapper for a path to temporary directory implementing automatic

src/libstd/num/strconv.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -820,6 +820,7 @@ mod bench {
820820
use super::test::Bencher;
821821
use rand::{XorShiftRng, Rng};
822822
use num::ToStrRadix;
823+
use realstd::result::ResultUnwrap;
823824

824825
#[bench]
825826
fn to_str_bin(b: &mut Bencher) {
@@ -856,6 +857,7 @@ mod bench {
856857
use super::test::Bencher;
857858
use rand::{XorShiftRng, Rng};
858859
use num::ToStrRadix;
860+
use realstd::result::ResultUnwrap;
859861

860862
#[bench]
861863
fn to_str_bin(b: &mut Bencher) {
@@ -892,6 +894,7 @@ mod bench {
892894
use super::test::Bencher;
893895
use rand::{XorShiftRng, Rng};
894896
use f64;
897+
use realstd::result::ResultUnwrap;
895898

896899
#[bench]
897900
fn float_to_str(b: &mut Bencher) {

src/libstd/prelude.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ pub use owned::Box;
6969
pub use path::{GenericPath, Path, PosixPath, WindowsPath};
7070
pub use ptr::RawPtr;
7171
pub use io::{Buffer, Writer, Reader, Seek};
72+
pub use result::{ResultUnwrap, ResultUnwrapErr};
7273
pub use str::{Str, StrVector, StrSlice, OwnedStr, IntoMaybeOwned};
7374
pub use str::{StrAllocating};
7475
pub use to_str::{ToStr, IntoStr};

src/libstd/repr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use option::{Some, None, Option};
2525
use ptr::RawPtr;
2626
use reflect;
2727
use reflect::{MovePtr, align};
28-
use result::{Ok, Err};
28+
use result::{Ok, Err, ResultUnwrap};
2929
use str::StrSlice;
3030
use to_str::ToStr;
3131
use slice::Vector;

0 commit comments

Comments
 (0)