Я работаю над процедурным макросом, которому нужно место для хранения состояния в системе, в которой он запущен. Состояние должно быть очищено при запуске cargo clean
.
Раньше я предполагал, что каталог target
- правильное место. Тем не менее, мое предположение, скорее всего, неверно, потому что:
- мои файлы и каталоги могут конфликтовать с файлами
rustc
и cargo
.
- расположение целевого каталога может отличаться от значения по умолчанию.
В попытке избежать этих проблем я пытался определить способ определения местоположения, но не увенчался успехом. Самым близким, что я нашел, является переменная окружения OUT_DIR
, которую Cargo устанавливает для сценариев сборки, которая, к сожалению, не установлена для процедурных макросов.
Обратите внимание, что этот вопрос не является дубликатом Можно ли сохранить состояние в процедурных макросах Rust? . Этот вопрос охватывает процедурное макросостояние в целом, в то время как этот вопрос касается определения подходящего местоположения в файловой структуре ящика.