Rust 特征有一个终生参数意味着什么?

Rust 特征有一个终生参数意味着什么?,rust,traits,lifetime,Rust,Traits,Lifetime,我理解生命周期参数是如何应用于函数和结构的,但是对于特征来说,生命周期参数意味着什么?将生存期参数引入其方法是一种快捷方式,还是其他方式?如果您有一个具有生存期限制的特征,那么该特征的实现者可以参与相同的生存期。具体地说,这允许您存储具有该生命周期的引用。它是而不是指定成员方法生命周期的快捷方式,困难和混乱的错误消息就在于此 trait Keeper&a u8; } SimpleKeeper的结构SimpleKeeper和'a u8{ self.val } } 请注意,结构和特征是如何在生命周

我理解生命周期参数是如何应用于函数和结构的,但是对于特征来说,生命周期参数意味着什么?将生存期参数引入其方法是一种快捷方式,还是其他方式?

如果您有一个具有生存期限制的特征,那么该特征的实现者可以参与相同的生存期。具体地说,这允许您存储具有该生命周期的引用。它是而不是指定成员方法生命周期的快捷方式,困难和混乱的错误消息就在于此

trait Keeper&a u8;
}
SimpleKeeper的结构SimpleKeeper和'a u8{
self.val
}
}
请注意,结构和特征是如何在生命周期中参数化的,并且生命周期是相同的

对于
SimpleKeeper,
save()
restore()
的非特征版本会是什么样子{ val:&'a u8, } 恳求{ fn保存(&M自我,v:&a u8){ self.val=v } fn恢复(&self)->&a u8{ self.val } }
他们的意思会和特质版本完全一样吗


是的

还是有点模糊。对于SimpleKeeper,save()和restore()的非特征版本会是什么样子?fn save,v:&'a u8){keep.val=v}fn restore)->&'a u8{keep.val}@goertzenator我试图回答。重要的一点是,结构也用生命周期参数化。