pub trait Writer { // Required method fn write(&mut self, buf: &[u8]); // Provided method fn write_len(&mut self, buf: &[u8], len: &mut usize) { ... } }