1 A type parameter with default value is using forward declared identifier.
3 Erroneous code example:
6 struct Foo<T = U, U = ()> {
10 // error: type parameters with a default cannot use forward declared
14 Type parameter defaults can only use parameters that occur before them. Since
15 type parameters are evaluated in-order, this issue could be fixed by doing:
18 struct Foo<U = (), T = U> {
24 Please also verify that this wasn't because of a name-clash and rename the type