【发布时间】:2015-03-03 08:28:50
【问题描述】:
struct Point {
x: u32,
y: u32,
}
struct Line<'a> {
start: &'a Point,
end: &'a Point,
}
这里,start 和 end 字段的唯一可能选项是具有与包含它们的 Line 变量相同或更长的生命周期。我什至无法想象如何使用生命周期说明符来说明字段的生命周期较短。
为什么我必须在这里明确指定生命周期?在这种情况下是否不可能进行省略,如果可以,为什么不呢?
【问题讨论】:
-
虽然我认为 Rust 可以选择省略结构定义中的生命周期,但它现在不会这样做。您只会看到用于函数/方法的术语
lifetime elision。