В Z3 есть 2 режима: автоматический подсчет ссылок и ручной.
Я понимаю, как работает ручной подсчет ссылок. Благодаря примеру.
Но как Z3 узнает, когда нужно удалить узел AST в случае автоматического подсчета ссылок? Поскольку Z3_ast является структурой из языка C => невозможно отследить все назначения и использование Z3_ast вне Z3 после его создания.
Или Z3 отслеживает ссылки только внутри Z3? То есть не обновляются счетчики ссылок, если вы делаете, например: ast1 = ast2.