Посмотрите на этот код:
fn example_function<T: Fn(i32) -> i32>(arr: &[i32], func: T) -> Vec<i32> {
let mut result = vec![];
for i in 0..arr.len() {
if arr[i] % 2 == 0 {
result.push(func(arr[i]));
}
}
result
}
В первой строке все виды скобочек! И читать сложновато.
Лично для меня эталон по читаемости — Go, а по экспрессивности — TypeScript. В Rust будто взяли худшие из этих миров.
А вы когда-нибудь задумывались, почему в английском скобки называются brackets, braces и parenthesis? Заходите за ответом к лингвисту-программисту @lingua_programma. (кстати, канал ведёт кое-кто из Островка, угадайте кто)