2 недели назад
Rust Project показал, как на самом деле выглядит поддержка большого языка, когда вокруг компилятора живут отдельные инструменты: Cargo
, Clippy, rustfmt, rust-analyzer, Miri и другие. Проблема простая: эти проекты удобнее развивать в отдельных репозиториях, потому что у них свои команды, CI, ревью и процессы. Но при этом они должны регулярно синхронизироваться с rust-lang/rust, потому что nightly-сборки, rustup-компоненты и внутренние compiler API завязаны на центральный репозиторий. Обычные варианты плохо масштабируются: - monorepo даёт атомарные изменения, но делает вход в проект тяжелее и привязывает всех к процессам compiler...