Как использовать внутренние компоненты компилятора Rust для ночных 1.40? - PullRequest
0 голосов
/ 26 октября 2019

Мне нужно написать инструмент, который использует компилятор 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 .

...