#![allow(dead_code)] #[derive(Debug)] struct Value; impl Value { fn as_array(&self) -> Option<&Vec> { None } } fn foo(val: Value) { let _reviewers_original: Vec = match val.as_array() { Some(array) => { *array //~ ERROR cannot move out of `*array` } None => vec![] }; } fn main() { }