In #Rust, `struct S<T>` yields a compiler error, but `fn f<T>() {}` does not even yield a warning. Why not?

#rustlang