Celkově je těch omezení dost. Nějaké idomy tam pochopitelně jsou (třeba psát match místo if), ale Rust omezuje hodně.
No a navíc - spousta legálních věcí při kompilaci zahlásí warning, že "takhle raději ne". A warningy jsou on by default.
A jako bonus je tu formatter, který udržuje i jednotné formátování mezi projekty.
Příklad pár warningů z jednoho mého malého narychlo napsaného prográmku:
warning: unnecessary parentheses around assigned value, #[warn(unused_parens)] on by default
warning: unnecessary parentheses around `if` condition, #[warn(unused_parens)] on by default
warning: unused import, #[warn(unused_imports)] on by default
warning: unused variable: `platform`, #[warn(unused_variables)] on by default
warning: function `kupfuCheckSum` should have a snake case name such as `kupfu_check_sum`, #[warn(non_snake_case)] on by default