struct BlockingIoOnlyStdFmtWriteToStdIoWriteAdaptor<W: ::std::io::Write>(W);
impl<W: ::std::io::Write> ::std::fmt::Write for BlockingIoOnlyStdFmtWriteToStdIoWriteAdaptor<W>
{
#[inline(always)]
fn write_str(&mut self, s: &str) -> Result<(), ::std::fmt::Error>
{
self.write_all(s.as_bytes())
}
#[inline(always)]
fn write_char(&mut self, c: char) -> Result<(), ::std::fmt::Error>
{
let mut buffer: [u8; 4] = unsafe { uninitialized() };
c.encode_utf8(&mut buffer);
self.write_all(&buffer[0 .. c.len_utf8()])
}
#[inline(always)]
fn write_fmt(&mut self, args: ::std::fmt::Arguments) -> Result<(), ::std::fmt::Error>
{
Self::handle_io_error(self.0.write_fmt(args))
}
}
impl<W: ::std::io::Write> BlockingIoOnlyStdFmtWriteToStdIoWriteAdaptor<W>
{
#[inline(always)]
fn write_all(&mut self, bytes: &[u8]) -> Result<(), ::std::fmt::Error>
{
Self::handle_io_error(self.0.write_all(bytes))
}
#[inline(always)]
fn handle_io_error<R>(result: Result<R, ::std::io::Error>) -> Result<(), ::std::fmt::Error>
{
if result.is_err()
{
Err(::std::fmt::Error)
}
else
{
Ok(())
}
}
}