例如:
enum FooBar {
Bar(Vec<int>),
Other
}
fn main() {
let default:&[int] = [];
let x = Bar(Vec::from_slice([1, 2, 3]));
let y = match(x) {
Bar(z) => z.slice(0, z.len()),
_ => default
};
println!("{}", y);
}
在这个例子中,由于z的生命周期,切片无效;但是我们知道这里实际数据(x)在整个代码块中都是有效的。
是否有某种'a语法可用于帮助编译器?如果有,如何使用?
(我相信我以前见过类似'a match {}或match x'a {} / something语法,但现在找不到任何示例了)