//@ run-rustfix | |
#![allow(unused)] | |
struct S(String); | |
impl Drop for S { | |
fn drop(&mut self) { } | |
} | |
fn move_in_match() { | |
match S("foo".to_string()) { | |
//~^ ERROR cannot move out of type `S`, which implements the `Drop` trait | |
S(ref _s) => {} | |
} | |
} | |
fn move_in_let() { | |
let S(ref _s) = S("foo".to_string()); | |
//~^ ERROR cannot move out of type `S`, which implements the `Drop` trait | |
} | |
fn move_in_fn_arg(S(ref _s): S) { | |
//~^ ERROR cannot move out of type `S`, which implements the `Drop` trait | |
} | |
fn main() {} |