Сборка мусора для вектора объекта в PyO3
У меня 2 пиккласса Block
а также BlockGroup
,
#[pyclass]
struct Block {
start: i32,
stop: i32,
}
#[pyclass]
struct BlockGroup {
blocks: Vec<Block>
}
Я новичок в PyO3, и я прочитал документацию по сборке мусора, но я не до конца его понимаю.
Если вашему типу принадлежат ссылки на другие объекты python, вам нужно будет интегрироваться с сборщиком мусора Python, чтобы GC знал об этих ссылках.
При условии BlockGroup
владеет бетоном Block
объекты, мне нужно реализовать собственную сборку мусора?
0 ответов
В этом случае, Block
а также Vec<Block>
соответственно являются частью памяти ржавчины, а не памяти Python, поэтому вам не нужно беспокоиться о сборке мусора. Например, объект в памяти Python будетPy<Block>
.