在回答这个问题时,讨论了如何引用由结构体持有的特质对象,需要使用以下语法:
根据RFC 438,这是每个。
我可以请求更多有关双重生命周期声明的解释吗?Levans说:
“您必须为引用的生命周期和特征对象本身的寿命指定两次:因为特征可以用于引用,如果基础对象是引用,则必须指定其生命周期。”
我了解结构中引用的生命周期概念。但我不明白为什么生命周期不是针对特征所在的对象。换句话说,我不知道如何持有一个特征的引用,而不持有对其作为特征来源的底层实体的引用。
是否存在特征和底层对象具有不同生命周期的情况? 持有特征的引用而没有持有底层特征的东西意味着什么?
再问一下,为什么Rust不能使用以下正确的方式:
struct Bar<'a> {
foo: &'a (Foo + 'a),
}
根据RFC 438,这是每个。
我可以请求更多有关双重生命周期声明的解释吗?Levans说:
“您必须为引用的生命周期和特征对象本身的寿命指定两次:因为特征可以用于引用,如果基础对象是引用,则必须指定其生命周期。”
我了解结构中引用的生命周期概念。但我不明白为什么生命周期不是针对特征所在的对象。换句话说,我不知道如何持有一个特征的引用,而不持有对其作为特征来源的底层实体的引用。
是否存在特征和底层对象具有不同生命周期的情况? 持有特征的引用而没有持有底层特征的东西意味着什么?
再问一下,为什么Rust不能使用以下正确的方式:
struct Bar<'a> {
foo: &'a Foo,
}
请问如何将"The Right Thing(tm)"解释为与上面的声明等价?
抱歉一下子问了这么多问题,但我感觉自己在做一些非常基础的事情(使用trait作为通用特性),却不得不深入挖掘,我想了解为什么会这么深。
错误信息:error: explicit lifetime bound required
并没有提供明显的帮助,因为已经有了生命周期绑定。