这是这个问题的跟进
我有另一个枚举:
enum InfoP<'a, 'b> {
Imut(&'a Info<'b>),
Mut(&'a mut Info<'b>),
}
所以我尝试了解决方案:
impl<'a, 'b> InfoP<'a, 'b> {
fn reborrow(self: &mut InfoP<'a, 'b>) -> InfoP<'a, 'b> {
match *self {
InfoP::Imut(info) => InfoP::Imut(info),
InfoP::Mut(ref mut info) => InfoP::Mut(*info),
}
}
}
不管这行不通
lifetime may not live long enough
associated function was supposed to return data with lifetime `'a` but it is returning data with lifetime `'1`
我该如何解决这个问题?