Торвальдс снова зол. Создатель Linux публично раскритиковал форматирование Rust-кода и небрежность разработчиков в pull-request
NewsMakerОн объяснил, почему rustfmt его бесит.
Создатель Linux Линус Торвальдс вновь публично раскритиковал разработчиков, на этот раз обратив внимание на форматирование текста и кода на Rust. Если накануне он заявил, что поддержка big endian для RISC-V в ядре Linux не планируется, то сегодня речь пошла о «безумном» стиле форматирования в Rust и небрежных пояснениях в заявках.
Поводом стало очередное pull-request для DRM-подсистемы , присланное на рассмотрение. Торвальдс отметил, что текст выглядит как «бессистемный набор слов», в котором потерялась исходная структура.
«Заметьте, там есть несколько под-разделов: Alloc, DMA/Scatterlist, DRM и Rust. Но всё это в случайной куче, потому что вы, видимо, просто вставили это в редактор или MUA и потеряли отступы», — написал он.
По словам Торвальдса, подобная небрежность полностью рушит многоуровневую иерархию, которая изначально явно присутствовала. В шутку он спросил, не использует ли автор древний редактор Edlin из эпохи MS-DOS.
После этого внимание перешло к Rust-коду, который появился в ядре с версии 6.18. Торвальдс отметил, что форматирование директив use вызывает у него серьёзные нарекания.
«Я ненавижу бессмысленную и совершенно безумную проверку rustfmt. Я привёл несколько use crate::xyz; к более аккуратной записи в блоке, чтобы легко добавлять новые строки. Но rustfmtcheck превратил это в сжатую однострочную запись, и я не понимаю, какие вообще у него эвристики», — заявил он.
Торвальдс подчеркнул, что автоматическое средство форматирования «буквально ухудшает сопровождаемость кода», усложняя слияния изменений и будущую разработку.
Особенно его возмутила непоследовательность правил: в одних случаях инструмент настаивает на многострочном формате, в других — на компактной записи, что, по его словам, «создаёт путаницу и раздражает».
Он обратился к Мигелю Охидио, который просил его использовать rustfmtcheck, с просьбой найти «здравое решение». При этом Торвальдс отметил, что оставил код в своём варианте, игнорируя предложения инструмента.
В подтверждение своих слов он привёл ссылку на официальный гайд Rust , отметив, что предложенные там правила могут быть уместны для компактных структур данных, но к директивам
По его мнению, именно из-за «ужасных случайных эвристик rustfmt» многие разработчики предпочитают оставлять каждую директиву use отдельной строкой.
Полная переписка доступна в LKML .

Создатель Linux Линус Торвальдс вновь публично раскритиковал разработчиков, на этот раз обратив внимание на форматирование текста и кода на Rust. Если накануне он заявил, что поддержка big endian для RISC-V в ядре Linux не планируется, то сегодня речь пошла о «безумном» стиле форматирования в Rust и небрежных пояснениях в заявках.
Поводом стало очередное pull-request для DRM-подсистемы , присланное на рассмотрение. Торвальдс отметил, что текст выглядит как «бессистемный набор слов», в котором потерялась исходная структура.
«Заметьте, там есть несколько под-разделов: Alloc, DMA/Scatterlist, DRM и Rust. Но всё это в случайной куче, потому что вы, видимо, просто вставили это в редактор или MUA и потеряли отступы», — написал он.
По словам Торвальдса, подобная небрежность полностью рушит многоуровневую иерархию, которая изначально явно присутствовала. В шутку он спросил, не использует ли автор древний редактор Edlin из эпохи MS-DOS.
После этого внимание перешло к Rust-коду, который появился в ядре с версии 6.18. Торвальдс отметил, что форматирование директив use вызывает у него серьёзные нарекания.
«Я ненавижу бессмысленную и совершенно безумную проверку rustfmt. Я привёл несколько use crate::xyz; к более аккуратной записи в блоке, чтобы легко добавлять новые строки. Но rustfmtcheck превратил это в сжатую однострочную запись, и я не понимаю, какие вообще у него эвристики», — заявил он.
Торвальдс подчеркнул, что автоматическое средство форматирования «буквально ухудшает сопровождаемость кода», усложняя слияния изменений и будущую разработку.
Особенно его возмутила непоследовательность правил: в одних случаях инструмент настаивает на многострочном формате, в других — на компактной записи, что, по его словам, «создаёт путаницу и раздражает».
Он обратился к Мигелю Охидио, который просил его использовать rustfmtcheck, с просьбой найти «здравое решение». При этом Торвальдс отметил, что оставил код в своём варианте, игнорируя предложения инструмента.
В подтверждение своих слов он привёл ссылку на официальный гайд Rust , отметив, что предложенные там правила могут быть уместны для компактных структур данных, но к директивам
use
они не подходят, так как речь идёт об «независимых сущностях». По его мнению, именно из-за «ужасных случайных эвристик rustfmt» многие разработчики предпочитают оставлять каждую директиву use отдельной строкой.
Полная переписка доступна в LKML .