#[doc(hidden)]pub trait WriteThroughCursor: Sized {
// Required methods
fn write(this: &mut Cursor<Self>, buf: &[u8]) -> Result<usize>;
fn write_vectored(
this: &mut Cursor<Self>,
bufs: &[IoSlice<'_>],
) -> Result<usize>;
fn is_write_vectored(this: &Cursor<Self>) -> bool;
fn write_all(this: &mut Cursor<Self>, buf: &[u8]) -> Result<()>;
fn write_all_vectored(
this: &mut Cursor<Self>,
bufs: &mut [IoSlice<'_>],
) -> Result<()>;
fn flush(this: &mut Cursor<Self>) -> Result<()>;
}๐ฌThis is a nightly-only experimental API. (
core_io_internals)Expand description
Trait used to allow indirect implementation of Write for Cursor<Self>.
Since Cursor is not a foundational type, it is not possible to implement
Write for Cursor<T> if Write is defined in libcore and T is in a
downstream crate (e.g., liballoc or libstd).
Methods are identical in purpose and meaning to their Write namesakes.
Required Methodsยง
fn write(this: &mut Cursor<Self>, buf: &[u8]) -> Result<usize>
๐ฌThis is a nightly-only experimental API. (
core_io_internals)fn write_vectored( this: &mut Cursor<Self>, bufs: &[IoSlice<'_>], ) -> Result<usize>
๐ฌThis is a nightly-only experimental API. (
core_io_internals)fn is_write_vectored(this: &Cursor<Self>) -> bool
๐ฌThis is a nightly-only experimental API. (
core_io_internals)fn write_all(this: &mut Cursor<Self>, buf: &[u8]) -> Result<()>
๐ฌThis is a nightly-only experimental API. (
core_io_internals)fn write_all_vectored( this: &mut Cursor<Self>, bufs: &mut [IoSlice<'_>], ) -> Result<()>
๐ฌThis is a nightly-only experimental API. (
core_io_internals)fn flush(this: &mut Cursor<Self>) -> Result<()>
๐ฌThis is a nightly-only experimental API. (
core_io_internals)Dyn Compatibilityยง
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".