小编Tec*_*out的帖子

当Rust结构包含生命特征时会发生什么?

好的,所以我是一个完整的Rust新手,我正在试验Rocket.该Web框架传递了一个Form<MyStruct>,我想将MyStruct传输到我自己的自定义结构中.

struct Consumer<T> {
    d: T,
}

impl<T> Consumer<T> {
   fn new(form: Form<T>) -> Self {
       Consumer { d: form.into_inner() }
   }
}
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,我得到:

the trait `rocket::request::FromForm<'_>` is not implemented for `T`
Run Code Online (Sandbox Code Playgroud)

下一次尝试:

impl<T> Consumer<T> where T: FromForm {
    fn new(form: Form<T>) -> Self {
        Consumer { d: form.into_inner }
    }
}
Run Code Online (Sandbox Code Playgroud)

哦哦:

impl<T> Consumer<T> where T: FromForm {
                             ^^^^^^^^ expected lifetime parameter
Run Code Online (Sandbox Code Playgroud)

所以现在我发现自己完全无法解决这个问题!我能想到的最好的是:

impl<'f, T> Consumer<T> where T: FromForm<'f> {
    fn new(form: Form<T>) -> Self {
        Consumer …
Run Code Online (Sandbox Code Playgroud)

traits lifetime rust

2
推荐指数
1
解决办法
96
查看次数

标签 统计

lifetime ×1

rust ×1

traits ×1