//! Sequential byte output.
usecrate::source::SourceError;/// Where a saved document is written. Like [`crate::Source`], it keeps the
/// core crates free of ambient I/O: the host decides whether bytes go to
/// memory, a file or a socket.
pubtraitSink{/// Appends `bytes`.
fnwrite_all(&mutself, bytes:&[u8])->Result<(), SourceError>;}implSink forVec<u8>{fnwrite_all(&mutself, bytes:&[u8])->Result<(), SourceError>{self.extend_from_slice(bytes);Ok(())}}#[cfg(test)]modtests{usesuper::*;#[test]fnvec_sink_appends(){letmut v =b"a".to_vec();
v.write_all(b"bc").unwrap();assert_eq!(v,b"abc");}}