Error code E0747
Generic arguments were not provided in the same order as the corresponding generic parameters are declared.
Erroneous code example:
#![allow(unused)]
fn main() {
struct S<'a, T>(&'a T);
type X = S<(), 'static>; // error: the type argument is provided before the
// lifetime argument
}
The argument order should be changed to match the parameter declaration order, as in the following:
#![allow(unused)]
fn main() {
struct S<'a, T>(&'a T);
type X = S<'static, ()>; // ok
}