Struct rustc_std_workspace_std::io::WriterPanicked
1.56.0 · source · pub struct WriterPanicked {
buf: Vec<u8, Global>,
}Expand description
Error returned for the buffered data from BufWriter::into_parts, when the underlying
writer has previously panicked. Contains the (possibly partly written) buffered data.
Example
use std::io::{self, BufWriter, Write};
use std::panic::{catch_unwind, AssertUnwindSafe};
struct PanickingWriter;
impl Write for PanickingWriter {
fn write(&mut self, buf: &[u8]) -> io::Result<usize> { panic!() }
fn flush(&mut self) -> io::Result<()> { panic!() }
}
let mut stream = BufWriter::new(PanickingWriter);
write!(stream, "some data").unwrap();
let result = catch_unwind(AssertUnwindSafe(|| {
stream.flush().unwrap()
}));
assert!(result.is_err());
let (recovered_writer, buffered_data) = stream.into_parts();
assert!(matches!(recovered_writer, PanickingWriter));
assert_eq!(buffered_data.unwrap_err().into_inner(), b"some data");Fields§
§buf: Vec<u8, Global>Implementations§
Trait Implementations§
source§impl Debug for WriterPanicked
impl Debug for WriterPanicked
source§impl Display for WriterPanicked
impl Display for WriterPanicked
source§impl Error for WriterPanicked
impl Error for WriterPanicked
source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
source§fn type_id(&self, _: Internal) -> TypeIdwhere
Self: 'static,
fn type_id(&self, _: Internal) -> TypeIdwhere Self: 'static,
🔬This is a nightly-only experimental API. (
error_type_id)Gets the
TypeId of self.Auto Trait Implementations§
impl RefUnwindSafe for WriterPanicked
impl Send for WriterPanicked
impl Sync for WriterPanicked
impl Unpin for WriterPanicked
impl UnwindSafe for WriterPanicked
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more