1 Type parameter defaults can only use parameters that occur before them.
2 Erroneous code example:
5 struct Foo<T = U, U = ()> {
9 // error: type parameters with a default cannot use forward declared
13 Since type parameters are evaluated in-order, you may be able to fix this issue
17 struct Foo<U = (), T = U> {
23 Please also verify that this wasn't because of a name-clash and rename the type