blob: dab99fbacd9e681b59e7eb97427bd0f4fca3f743 [file] [log] [blame]
#![allow(unused)]
struct X {
x: (),
}
pub trait A {
fn foo(&mut self, _: usize) -> &mut ();
}
impl A for X {
fn foo(&mut self, _: usize) -> &mut () {
&mut self.x
}
}
impl X {
fn foo(&mut self, _: usize) -> &mut Self {
self
}
}
fn main() {
let mut x = X { x: () };
*x.foo(0) = (); //~ ERROR E0308
}