23 lines
477 B
Rust
23 lines
477 B
Rust
|
struct S(~str);
|
||
|
impl Drop for S {
|
||
|
fn finalize(&self) { println(**self); }
|
||
|
}
|
||
|
|
||
|
fn move_in_match() {
|
||
|
match S(~"foo") {
|
||
|
S(_s) => {}
|
||
|
//~^ ERROR cannot move out of type `S`, which defines the `Drop` trait
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn move_in_let() {
|
||
|
let S(_s) = S(~"foo");
|
||
|
//~^ ERROR cannot move out of type `S`, which defines the `Drop` trait
|
||
|
}
|
||
|
|
||
|
fn move_in_fn_arg(S(_s): S) {
|
||
|
//~^ ERROR cannot move out of type `S`, which defines the `Drop` trait
|
||
|
}
|
||
|
|
||
|
fn main() {}
|