我有2个pyclass Block
和BlockGroup
。
#[pyclass]
struct Block {
start: i32,
stop: i32,
}
#[pyclass]
struct BlockGroup {
blocks: Vec<Block>
}
我是PyO3的新手,我已经读过documentation有关垃圾回收的信息,但是我并没有完全理解它。
如果您的类型拥有对其他python对象的引用,则需要 与Python的垃圾收集器集成,以便GC知道 这些参考。
鉴于BlockGroup
拥有具体的Block
对象,我是否需要实现自定义垃圾收集?
答案 0 :(得分:0)
在这种情况下,Block
和Vec<Block>
分别是rust的内存而不是python的内存,因此您不必担心垃圾回收。 python内存中的对象例如是Py<Block>
。