Я работаю над процедурным макросом, который выполняет много работы, которая может значительно замедлить компиляцию.Проделанная работа не влияет на семантику функции;то есть, если задан тот же набор аргументов, возвращаемое значение не изменяется в зависимости от того, применен ли макрос.
В попытке ускорить цикл edit-comp-test, я бы хотелсделать макрос недоступным в зависимости от условий, связанных с компиляцией ящика.Я хотел бы иметь возможность определить два свойства, в частности:
- Почему выполняется макрос: Build / Run, Documentation, Testing
- Является ли макрос выполняемым для оптимизированных сборок,
Cargo предоставляет уровень оптимизации для построения сценариев (через переменные окружения OPT_LEVEL
и PROFILE
), но не предоставляет режим (Build, Documentation, ..).Однако, похоже, что ни одна из этой информации вообще не подвергается процедурным макросам.