let mut buf = std::io::BufReader::new(b"asdf");
let _: &mut Buffer = &mut buf; // error
As a side effect of #17704 (and I think @huonw has noted this possibility correctly), std::io::Buffer is no longer usable as a trait object. We need a separate trait and a blacket implementation for it.