2.10.2 添加生命周期相等约束的建议
1分钟内可阅读完
译文 · 基于 Learning Rust
添加生命周期相等约束的建议
原文链接: https://quinedot.github.io/rust-learning/c-equality.html
这个例子非常牵强,但考虑这里的输出:
| |
| |
参数中的嵌套生命周期已经隐含了 'b: 'a 约束。如果你遵循建议并添加 'a: 'b 约束,那么两个约束合在一起意味着 'a 和 'b 实际上是同一个生命周期。更清晰的建议应该是使用单个生命周期。对于这个特定例子,更好的建议是直接返回 &'a str。
盲目遵循此建议的另一个可能的陷阱是最终得到类似这样的东西:
| |
那是伪装起来的 &'a mut Node<'a> 反模式!这很可能无法使用,并暗示有更深层次的问题需要解决。