Size: a a a

Rust — русскоговорящее сообществo

2020 November 08

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Возможно. Я пока ещё изучаю возможности модификации процесса компиляции и последующей сборки
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Есть вариант писать это в ENV, но это выглядит достаточно странно
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
С датой компиляции я разобрался. Тут мне поможет вот это — https://docs.rs/built/0.4.3/built/. Осталось решить проблему с прогрессом компиляции
источник

Э

Эрик in Rust — русскоговорящее сообществo
Vladimir Moscow
Есть ли какая-нибудь библиотека для дополнения функциональности build.rs? Мне нужно получить точную дату компиляции, а также хотелось бы сделать вывод прогресса компиляции (название компилируемого файла, например). Из-за экспериментов сталкиваюсь с тем, что компиляция зависает на одном из файлов и мне приходится вручную искать проблему
Вообще, растовая компиляция не делится на файлы, только на крейты.
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Эрик
Вообще, растовая компиляция не делится на файлы, только на крейты.
В этом и беда. Да и эстетическое удовольствие заметно страдает, конечно же
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ну, я бы не сказал, что беда, потому что компилировать файлы — это рофел, там пофайлово только парсинг работает.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Vladimir Moscow
С датой компиляции я разобрался. Тут мне поможет вот это — https://docs.rs/built/0.4.3/built/. Осталось решить проблему с прогрессом компиляции
прогресс компиляции самого крейта?
Можно логи компилятора включить
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Mikail Bagishov
прогресс компиляции самого крейта?
Можно логи компилятора включить
Да, да. Как это сделать?!
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Например попробуй RUSTC_LOG=trace
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Но никакого пофайлового прогресса все равно нет, крейт компилируется как единое целое
источник
2020 November 09

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Mikail Bagishov
Но никакого пофайлового прогресса все равно нет, крейт компилируется как единое целое
Пофайловый прогресс можно реализовать, но тогда придётся всегда использовать собственный форк компилятора со слегка модифицированным процессом компиляции. Это не так уж и удобно
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Ну вот если компилятор завис, оптимизируя дженерик из файла foo.rs, в который была подставлена функция из bar.rs, то это какой файл?
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Mikail Bagishov
Ну вот если компилятор завис, оптимизируя дженерик из файла foo.rs, в который была подставлена функция из bar.rs, то это какой файл?
Мне не нужно объяснение в стиле "для домохозяйки". Мне достаточно увидеть файл, который "завис"
источник

/

/bin/cat in Rust — русскоговорящее сообществo
А в проекте случайно не используется async?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
А ты не хочешь увидеть букву, которая зависла?
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Mikail Bagishov
А ты не хочешь увидеть букву, которая зависла?
Странный вопрос
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Я думаю, что из лога можно понять, какой запрос был запущен последним.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Еще можно попытаться подключиться к компилятору отладчиком и снять бэктрейс
источник

VM

Vladimir Moscow in Rust — русскоговорящее сообществo
Mikail Bagishov
Еще можно попытаться подключиться к компилятору отладчиком и снять бэктрейс
Тогда можно сразу открыть дизассемблер и пуститься во все тяжкие, чего уж мелочиться? Сам по себе процесс сборки при помощи Cargo достаточно сильно отличается от подхода в других языках
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Mikail Bagishov
Я думаю, что из лога можно понять, какой запрос был запущен последним.
Например видно, какие функции он собирается codegen-ить.
источник