use std::ops::Deref; | |
struct NotCopy { | |
inner: bool | |
} | |
impl NotCopy { | |
fn inner_method(&self) {} | |
} | |
struct Foo { | |
first: NotCopy, | |
second: NotCopy | |
} | |
impl Deref for Foo { | |
type Target = NotCopy; | |
fn deref(&self) -> &NotCopy { | |
&self.second | |
} | |
} | |
fn use_field(val: Foo) { | |
let _val = val.first; | |
val.inner; //~ ERROR borrow of | |
} | |
fn use_method(val: Foo) { | |
let _val = val.first; | |
val.inner_method(); //~ ERROR borrow of | |
} | |
fn main() {} |