This makes the analysis more difficult for compilers, syntactic markers, shell scripts, and people (i.e. all).
For example, with fn , foo takes a function that has two int arguments and returns nothing, and bar takes a pointer to a tuple 2 int s
fn foo(f: &fn(int, int)) {} fn bar(t: &(int, int)) {}
Without fn arguments for both become &(int, int) , and the compiler cannot tell them apart. Of course, you can come up with other rules so that they are written in different ways, but they almost certainly have no advantages over using fn .
source share