有没有一种在保持所有权的同时使用带有指针的枚举的好方法(跟进)

问题描述 投票:0回答:0

这是这个问题的跟进

我有另一个枚举:

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` 

我该如何解决这个问题?

游乐场

rust enums lifetime
© www.soinside.com 2019 - 2024. All rights reserved.