如何摆脱 wasm_bindgen 包装结构中的生命周期

mil*_*lck 5 rust wasm-bindgen

目前我有一些类似于以下的代码:

// 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。然而编译器还是要求我提供生命周期。

无论如何,我不知道如何实现这一点。有人可以帮助我吗?