下面代码中的函数f的生命周期参数'fa
的生命周期长度由于协变的原因导致它的长度是不是main函数中最小的那个,也就是'fa
等于b
对吗?,
#[derive(Debug)]
struct User<T> {
name: T,
// marker: PhantomData<fn(T)>
}
fn f<'fa>(i: &'fa i32, u: &User<&'fa i32>) {
}
fn main() {
'a: {
let a = 1234;
let user = User {
name: &a,
// marker: PhantomData
};
'b: {
let b = 123;
f(&b, &user);
}
println!("user:{:?}", user);
}
1
共 1 条评论, 1 页
评论区
写评论对