LINUX.ORG.RU

rust: разработка на nightly при сохранении полной совместимости со stable

 


0

3

Интересует меня такой вопрос: если я буду при разработке использовать nightly-версию компилятора, но при этом нигде в исходниках не буду указывать #![feature(...)] и мой код не будет зависеть от сторонних крейтов, собирающихся только под nightly, не даст ли мне компилятор случайно использовать nightly-фичи языка без ворнингов и ошибок компиляции?

Хочу инкрементальную компиляцию и возможно ThinLTO, но при этом хочу уверенности, что случайно не поломаю совместимость своего кода со стабильным растом.

Deleted

Можно использовать nightly для разработки и stable для проверки перед коммитом.
А вообще, у тебя же есть CI?

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Есть CI. Просто хочется, чтобы компилятор бил по рукам прямо сразу при сборке на локалхосте после внесения изменений. Причём делал это быстро (то есть сборка всё ещё была инкрементальной).

Deleted
()

не даст ли мне компилятор случайно использовать nightly-фичи языка без ворнингов и ошибок компиляции

Вроде бы не должен, но лучше спросить на /r/rust/.

anonymous
()

не даст, но nightly временами крашится вместо вывода сообщения об ошибке

TIL в найтли завезли инкрементальную компиляцию?

MyTrooName ★★★★★
()
Ответ на: комментарий от MyTrooName

Инкрементальную уже год как, а вот ThinLTO к ней прикрутили недавно.

pftBest ★★★★
()

и мой код не будет зависеть от сторонних крейтов, собирающихся только под nightly

Если это правило соблюдается, то всё ок. С другой стороны, именно это требование автоматически проверяться не будет.

DarkEld3r ★★★★★
()

Да. На всякий случай можешь еще сделать

#![deny(unstable_features)]

mersinvald ★★★★★
()
Ответ на: комментарий от ozkriff

Не даст, точно.

Написал и засомневался что прям 100% точно. Потыкал знакомых в гиттере - говорят что были какие-то случаи когда в ночниках убирали гейты раньше появления чего-то в стабильном канале, но конкретностей никто вспомнить сходу не может. Так что все-таки есть нюансы.

В целом локально ночник использовать - можно и нужно, но присоединюсь к совету выше в CI прогонять сборку-тесты на всех трех каналах на всякий.

ozkriff
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.