再次 - 借来的价值不够长

时间:2015-08-14 07:36:35

标签: rust

我无法理解这里发生了什么:

struct MyStruct<'a> {
  field1: i32,
  field2: &'a str,
}

impl<'a> MyStruct<'a> {
    fn foo(var1: i32, var2: i32, var3: &str) -> &'a str {
      &format!("{} {} {} fdsfdsfd", var1, var2, var3)
    }
}

fn main() {
}

我应该以某种方式从'a返回具有生命期foo的str吗?如果没有,如何解决?

1 个答案:

答案 0 :(得分:3)

您正在创建一个字符串,然后尝试返回对它的引用,但是您返回引用的字符串不会存储在任何位置。您应该返回String本身。