diff options
| author | bors <bors@rust-lang.org> | 2015-06-15 06:44:42 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-06-15 06:44:42 +0000 |
| commit | 7517ecf4fc9cfe2adff8a38ecc2ef660692a4b5b (patch) | |
| tree | e1b6cb4d5c0cb9ae19e099fcdb968e1ea4d0e739 /src/libstd/sys | |
| parent | a54a80921971791b1148b7633cb43029f7d2ef9b (diff) | |
| parent | a7bbd7da4eb98127104fdfd415ad6c746f7e2a12 (diff) | |
| download | rust-7517ecf4fc9cfe2adff8a38ecc2ef660692a4b5b.tar.gz rust-7517ecf4fc9cfe2adff8a38ecc2ef660692a4b5b.zip | |
Auto merge of #26168 - sfackler:stdout-panic, r=alexcrichton
Closes #25977 The various `stdfoo_raw` methods in std::io now return `io::Result`s, since they may not exist on Windows. They will always return `Ok` on Unix-like platforms. [breaking-change]
Diffstat (limited to 'src/libstd/sys')
| -rw-r--r-- | src/libstd/sys/unix/stdio.rs | 6 | ||||
| -rw-r--r-- | src/libstd/sys/windows/stdio.rs | 20 |
2 files changed, 14 insertions, 12 deletions
diff --git a/src/libstd/sys/unix/stdio.rs b/src/libstd/sys/unix/stdio.rs index 5f5101e96d7..fce52f8f92b 100644 --- a/src/libstd/sys/unix/stdio.rs +++ b/src/libstd/sys/unix/stdio.rs @@ -19,7 +19,7 @@ pub struct Stdout(()); pub struct Stderr(()); impl Stdin { - pub fn new() -> Stdin { Stdin(()) } + pub fn new() -> io::Result<Stdin> { Ok(Stdin(())) } pub fn read(&self, data: &mut [u8]) -> io::Result<usize> { let fd = FileDesc::new(libc::STDIN_FILENO); @@ -30,7 +30,7 @@ impl Stdin { } impl Stdout { - pub fn new() -> Stdout { Stdout(()) } + pub fn new() -> io::Result<Stdout> { Ok(Stdout(())) } pub fn write(&self, data: &[u8]) -> io::Result<usize> { let fd = FileDesc::new(libc::STDOUT_FILENO); @@ -41,7 +41,7 @@ impl Stdout { } impl Stderr { - pub fn new() -> Stderr { Stderr(()) } + pub fn new() -> io::Result<Stderr> { Ok(Stderr(())) } pub fn write(&self, data: &[u8]) -> io::Result<usize> { let fd = FileDesc::new(libc::STDERR_FILENO); diff --git a/src/libstd/sys/windows/stdio.rs b/src/libstd/sys/windows/stdio.rs index e56722a189d..9961fef714a 100644 --- a/src/libstd/sys/windows/stdio.rs +++ b/src/libstd/sys/windows/stdio.rs @@ -77,11 +77,13 @@ fn write(out: &Output, data: &[u8]) -> io::Result<usize> { } impl Stdin { - pub fn new() -> Stdin { - Stdin { - handle: get(c::STD_INPUT_HANDLE).unwrap(), - utf8: Mutex::new(Cursor::new(Vec::new())), - } + pub fn new() -> io::Result<Stdin> { + get(c::STD_INPUT_HANDLE).map(|handle| { + Stdin { + handle: handle, + utf8: Mutex::new(Cursor::new(Vec::new())), + } + }) } pub fn read(&self, buf: &mut [u8]) -> io::Result<usize> { @@ -116,8 +118,8 @@ impl Stdin { } impl Stdout { - pub fn new() -> Stdout { - Stdout(get(c::STD_OUTPUT_HANDLE).unwrap()) + pub fn new() -> io::Result<Stdout> { + get(c::STD_OUTPUT_HANDLE).map(Stdout) } pub fn write(&self, data: &[u8]) -> io::Result<usize> { @@ -126,8 +128,8 @@ impl Stdout { } impl Stderr { - pub fn new() -> Stderr { - Stderr(get(c::STD_ERROR_HANDLE).unwrap()) + pub fn new() -> io::Result<Stderr> { + get(c::STD_ERROR_HANDLE).map(Stderr) } pub fn write(&self, data: &[u8]) -> io::Result<usize> { |
