This is not an Pre-RFC yet, I’ll write one when it collects some hype and initial bikesheddings for it.
The idea here is a new syntax which does exactly what fn-call-after-turbofish does currently, but fancier. It basically looks like this.
mem::size_of(:T); iter.collect(:Vec<_>); make_array(:u8, :64, 0); do_something(:T, :U, a, b);
So function call arguments can be started with optional type arguments. Type arguments are started with
:, and interpreted in type context. All type arguments must be placed before any value argument, if exist.
I really like to write this RFC myself, but, well, have no idea how this feature should be called. Maybe call-with-type-args ? Um, I don’t like it.