Presently, the syntax of Rust is filled with redundancy. The code is indented, curly braced, comma separated, bracketed, and parenthesized as if uncertain about the meaning of an affirmative. Space and Newline are punctuations relied upon to reveal structure but ignored for providing structure. It all seems rather silly considering that one of the reasons C itself is not white space dependent was apparently a need to be unreadably compact for more parsing efficiency back in the day of limited space and throughput.
In particular, the need to wrap arguments in parenthesis eliminates the syntactic fluidity of currying and a meta language of transformation common in functional languages:
x // x is some concept: value, function, operator, type, generic type, etc.
f // f is some suitable transformer: function, operator, generic type, etc.
f x // application produces a new concept
f x y // equivalent to (f x) y
f (m, n) // where (m,n) is a tuple of the two concepts m and n.
White space is always implicitly used in Rust to reveal the structure of the code. The need to have a second structuring syntax of semicolons, braces, etc. on top of that is redundant and makes the code less self documenting; consequently, the visual structure is not the real structure but merely secondary documentation.