Как определить свойства компиляции в процедурном макросе?

Я работаю над процедурным макросом, который выполняет много работы, которая может значительно замедлить компиляцию. Проделанная работа не влияет на семантику функции; то есть, если дан тот же набор аргументов, возвращаемое значение не изменяется в зависимости от того, применен ли макрос.

Чтобы сделать цикл edit-comp-test более быстрым, я хотел бы сделать макрос недоступным в зависимости от условий, связанных с компиляцией ящика. Я хотел бы иметь возможность определить два свойства в частности:

  1. Почему выполняется макрос: сборка / запуск, документация, тестирование
  2. Выполнен ли макрос для оптимизированных сборок.

Cargo предоставляет уровень оптимизации для создания сценариев (через переменные среды OPT_LEVEL а также PROFILE) но не выставляет режим (Build, Documentation, ..). Тем не менее, кажется, что ни одна из этой информации вообще не подвергается процедурным макросам.

0 ответов

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