Linked List: 在trait方法的默认实现中多次使用可变游标
Opened this issue · 1 comments
Nouzan commented
问题描述
在LinkedList
trait的方法的默认实现中,我们可能会多次声明可变游标。但在目前采用的实现(#24)中,由于不能使用GAT(generic associated types),我们只能将游标的生命期定义在trait
的声明中,并在关联类型中限定了游标的生命期,这导致任何创建游标的方法的生命期受限于整个trait
的生命期声明,因此其它方法中游标生命期不短于整个方法的生命期,从而导致可变游标不能被声明两次(因为假如可以声明,则它们必然共处同一生命期,这与可变引用互斥性矛盾)
已有的解决方案
- 在
nightly
频道中使用#![feature(generic_associated_types)]
,使得我们可以定义GAT(nightly: bd741f3).
目标
- 在
stable
频道中解决该问题.