目前我有一些类似于以下的代码:
// Lifetime of child is enforced to be valid as far as Parent is valid
struct Child<'a> {
some_data : i32,
phantom_lifetime: PhantomData<&'a Parent>
}
struct Parent {
}
#[wasm_bindgen]
pub struct Foo<'a> {
parent: Parent,
children: Vec<Child<'a>>
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是我必须摆脱生命周期,Foo因为wasm_bindgen不允许这样做。
直观上,生命周期应该仅通过 struct 的创建来强制执行Foo。然而编译器还是要求我提供生命周期。
无论如何,我不知道如何实现这一点。有人可以帮助我吗?