Fixed
- [BREAKING] now state types are placed before original generic types.
Previously, all state types are appended to generic arguments. For example,
Foo<'a, X, Y>
yieldsFooBuilder<'a, X, Y, ((), ())>
previously, and
now it becomesFooBuilder<'a, ((), ()), X, Y, >.
. This change fix compiler error
for struct with default type likeFoo<'a, X, Y=Bar>
. Rust only allow type
parameters with a default to be trailing.