Почему rustc моделирует AST и HIR, используя два разных представления в памяти?

Рассмотрим эти 2 реализации ExprKind в rustc:

  • В коде AST используются упакованные типы с широким использованием векторов.

  • Код HIR использует заимствованные типы с массивами. Я предполагаю, что они используют арену для распределения.

Что движет этими совершенно разными способами обращения с памятью для двух разных представлений кода?

0 ответов

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