blob: 62fc1f42969f4ab00b0381a5a1985afa891256a8 [file] [log] [blame]
//! Checks borrow after move error when using `self` consuming method with struct update syntax.
struct Mine {
test: String,
other_val: isize,
}
impl Mine {
fn make_string_bar(mut self) -> Mine {
self.test = "Bar".to_string();
self
}
}
fn main() {
let start = Mine { test: "Foo".to_string(), other_val: 0 };
let end = Mine { other_val: 1, ..start.make_string_bar() };
println!("{}", start.test); //~ ERROR borrow of moved value: `start`
}