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.
Thoughts?