Линус Торвальдс ранее раскритиковал перспективы использования архитектуры RISC-V в ядре Linux, а теперь он обратил внимание на «безумное» форматирование кода Rust.
Торвальдс выразил недовольство форматированием кода на Rust, особенно тем, как инструмент rustfmtcheck преобразует списки use и форматирование импорта. Поводом стала недавно поданная заявка на слияние (pull request) в подсистему DRM (Direct Rendering Manager) ядра Linux, где Торвальдс заметил «хаотичное» форматирование текста.
Он высказался резко: «Заметьте, тут несколько подкатегорий: Alloc, DMA/Scatterlist, DRM и Rust. … Но всё это просто случайная мешанина … вы, похоже, вставили это … и потеряли отступы … Какой сломанный редактор вы используете?».
Торвальдс продолжил: «Смотрите, снова никакой логики, и вы полностью испортили любую многоуровневую структуру отступов … Что за черт? … Пожалуйста, делайте объяснения читаемыми, а не просто случайным набором слов».
Разработчик раскритиковал форматирование rustfmtcheck, назвав его «совершенно безумным». Торвальдс отметил, что инструмент сжимает списки use в одну строку вместо многострочного формата, усложняет читаемость и будущие слияния.
Торвальдс жалуется, что неясно, когда использовать сжатый формат или многострочный: «Это просто РАЗДРАЖАЕТ. Это автоматический инструмент, который буквально принимает плохие решения с точки зрения поддержки кода».
Он также отмечает, что игнорировал результаты rustfmtcheck, так как инструмент выдаёт ошибки.
Торвальдс указывает, что правила форматирования (например на странице руководства Rust) иногда применимы, но неясны в контексте директив use, особенно когда разные элементы независимы.
Он призывает улучшить эвристику форматирования и снова подчёркивает, что автоматические изменения усложняют поддержку кода.
Торвальдс подчеркнул, что не хочет спровоцировать дискуссию «emacs vs vi», но критикует используемый редактор.
Ранее разработчик со словами «no f%^5ing clue» и «Garbage» отверг изменения архитектуры RISC‑V для кода ядра Linux 6.17. Обновления для RISC-V не войдут в новый цикл, и их придётся повторить для версии 6.18 позднее в этом году. Торвальдс называл по крайней мере часть предлагаемого кода RISC-V мусором, а также ответил разработчикам, что он был отправлен слишком поздно в течение окна слияния.
Кроме того, Товальдс сообщил автору проекта файловой системы Bcachefs Кенту Оверстриту (Kent Overstreet), что намерен исключить код Bcachefs из ядра Linux 6.17. В конце августа он изменил статус поддержки файловой системы Bcachefs в ядре Linux на «внешнее сопровождение» (Externally maintained).
Источник: habr.com