1 // This previously caused an ICE at:
2 // librustc/traits/structural_impls.rs:180: impossible case reached
6 use std::borrow::Borrow;
19 impl<'a, T> Write for &'a Container<T>
24 fn write(&mut self, buf: &[u8]) -> io::Result<usize> {
28 fn flush(&mut self) -> io::Result<()> {
33 impl Borrow<Borrowed> for Owned {
34 fn borrow(&self) -> &Borrowed {
39 fn func(owned: Owned) {
40 let _: () = Borrow::borrow(&owned); //~ ERROR mismatched types