Never types and inference

@kennytm

fn g<U: Future>() {
   let a: U::Output;
   let b: U::Output;
   // a and b can be of different type?
}
g::<!>();

I think the U: Future in the function’s type parameters implies that a specific U: Future impl has been passed to the function. In other words, no, there will be one type variable and a and b will both have that type.