pub trait Write {
// Required methods
fn poll_write(
self,
cx: &mut Option<String>,
buf: &mut [usize],
) -> Option<Result<usize, Error>>;
fn poll_flush(self, cx: &mut Option<String>) -> Option<Result<(), Error>>;
fn poll_close(self, cx: &mut Option<String>) -> Option<Result<(), Error>>;
// Provided method
fn poll_write_vectored(
self,
cx: &mut Option<String>,
bufs: &[usize],
) -> Option<Result<usize, Error>> { ... }
}