pub trait Readable { // Required method fn read(&mut self) -> Result<u8>; // Provided method fn read_more(&mut self, buf: &mut [u8]) -> Result<()> { ... } }