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 }