I want to implement a struct A, which has a field next
which references another A which has a longer lifetime. But I found it need infinite lifetime parameters. So any ideas?
struct A<'a, 'b: 'a, 'c: 'b, ...> {
next: &'a mut A<'b, 'c, ...>
}
I want to implement a struct A, which has a field next
which references another A which has a longer lifetime. But I found it need infinite lifetime parameters. So any ideas?
struct A<'a, 'b: 'a, 'c: 'b, ...> {
next: &'a mut A<'b, 'c, ...>
}
You're trying to use temporary scope-bound loans to build a linked list, and it's not possible to do it this way. It's a wrong language feature for lists.
You should use a type of reference that supports shared ownership and isn't temporary, like Arc
. See:
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.