Как определить свойства компиляции в процедурном макросе? - PullRequest
4 голосов
/ 21 мая 2019

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

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

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

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

...