在Rust中返回具有内部引用的对象
我目前正在与rusqlite合作。显而易见的方法是在rusqliteAPI中围绕Rows或MappedRows对象包装一个结构。然而,这些类型中的每一个都包含对它们派生的Statement对象的引用,而Statement又引用Connection。因此,假设只有一个长寿命的Connection,Statement对象必须至少保留我包装的任何Rows对象的生命周期。我知道,由于担心对象被移动,通常不允许在对象内有内部引用。但我能想到的构造这段代码的唯一方法是将Statement保存在我在Rows对象周围使用