【发布时间】:2019-05-18 11:39:25
【问题描述】:
我有一个具有“部分”生命周期的枚举:它的一个变体包含一个借用值,另一个包含一个拥有值。我有一个函数,它总是返回一个带有拥有变量的枚举。为了让编译器满意,我必须声明返回的枚举的生命周期是'static。
我的问题是关于返回的枚举的真实生命周期:
通过声明生命周期是'static,我只是在指导编译器这个枚举没有关联的生命周期,还是我实际上将该实例变为静态?
pub enum Sometimes<'a> {
Own(u16),
Borrow(&'a mut u16),
}
impl<'a> Sometimes<'a> {
pub fn from_u16(data: u16) -> Sometimes<'static> {
Sometimes::Own(data)
}
}
【问题讨论】: