about summary refs log tree commit diff
path: root/src/test/ui/write-fmt-errors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/write-fmt-errors.rs')
-rw-r--r--src/test/ui/write-fmt-errors.rs48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/test/ui/write-fmt-errors.rs b/src/test/ui/write-fmt-errors.rs
deleted file mode 100644
index 3fcaefaa63e..00000000000
--- a/src/test/ui/write-fmt-errors.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-// run-pass
-
-#![feature(io_error_uncategorized)]
-
-use std::fmt;
-use std::io::{self, Error, Write, sink};
-
-struct ErrorDisplay;
-
-impl fmt::Display for ErrorDisplay {
-    fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
-        Err(fmt::Error)
-    }
-}
-
-struct ErrorWriter;
-
-const FORMAT_ERROR: io::ErrorKind = io::ErrorKind::Uncategorized;
-const WRITER_ERROR: io::ErrorKind = io::ErrorKind::NotConnected;
-
-impl Write for ErrorWriter {
-    fn write(&mut self, _buf: &[u8]) -> io::Result<usize> {
-        Err(Error::new(WRITER_ERROR, "not connected"))
-    }
-
-    fn flush(&mut self) -> io::Result<()> { Ok(()) }
-}
-
-fn main() {
-    // Test that the error from the formatter is propagated.
-    let res = write!(sink(), "{} {} {}", 1, ErrorDisplay, "bar");
-    assert!(res.is_err(), "formatter error did not propagate");
-    assert_eq!(res.unwrap_err().kind(), FORMAT_ERROR);
-
-    // Test that an underlying error is propagated
-    let res = write!(ErrorWriter, "abc");
-    assert!(res.is_err(), "writer error did not propagate");
-
-    // Writer error
-    let res = write!(ErrorWriter, "abc {}", ErrorDisplay);
-    assert!(res.is_err(), "writer error did not propagate");
-    assert_eq!(res.unwrap_err().kind(), WRITER_ERROR);
-
-    // Formatter error
-    let res = write!(ErrorWriter, "{} abc", ErrorDisplay);
-    assert!(res.is_err(), "formatter error did not propagate");
-    assert_eq!(res.unwrap_err().kind(), FORMAT_ERROR);
-}