blob: 78c22d30e72b5f1d63242a3e70a5d688e66e9ff6 [file] [edit]
//! Regression test for <https://github.com/rust-lang/rust/issues/3220>.
//! Initially a pretty-printer bug, which omitted parentheses around `move`
//! keyword in lhs (`(move z).f()`), now this behaviour is untestable as
//! plain `move` outside a closure doesn't exist.
//!
//! Now appears to test that drop works correctly when value is moved by method.
//@ run-pass
#![allow(dead_code)]
#![allow(non_camel_case_types)]
struct thing { x: isize, }
impl Drop for thing {
fn drop(&mut self) {}
}
fn thing() -> thing {
thing {
x: 0
}
}
impl thing {
pub fn f(self) {}
}
pub fn main() {
let z = thing();
(z).f();
}