Describe the bug
The check whether a type parameter has multiple lower or upper bounds does not work if the type parameter occurs on the right side of a bound. However, X sub Y is the same as Y super X.
To Reproduce
Code:
class C<T1, T2> where {
T1 sub Int,
T2 super T1 // there should be an error here
}
Expected behavior
An error should be shown for the second bound of the above example.
Screenshots (optional)
No response
Additional Context (optional)
No response