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>> { ... } }