Мне нужно написать инструмент, который использует компилятор Rust в качестве библиотеки.
Я уже читал о "stupid-stats" , но он использует устаревшую версию компилятора Rust. Например, этот код использует черту CompilerCalls
, а примечание в «Руководстве по разработке Rustc» гласит, что современная версия должна использовать rustc_driver::Callbacks
.
Я попытался найти минимальный пример использования современного API. Я нашел compiler-calls.rs в исходном коде Rust, но при его запуске я получаю эту ошибку из функции run_compiler
:
error[E0463]: can't find crate for `std`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0463`.
Тестовый код (foo.rs):
fn main() {
}
Похоже, что компилятор не покрывает все зависимости кода ... Существует ли минимальный пример инструмента, использующего современный API, который охватывает все зависимости кода?
Я также задавал этот вопрос на форуме пользователей Rust .