Сборка мусора для вектора объекта в 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>.

Другие вопросы по тегам