You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's the same as scalac in this respect.
Eearly on, we allowed aliases such as
```
type L = List
```
since we treated type parameters as type members, and higher-kinded
types as existential types. This is no longer the case. So the original
motivation for this is gone.
Furthermore, such higher-kinded aliases and bounds tend to make code
more obscure since the kind of a type is no longer obvious. They also
tend to exploit lots of dark corners in the compiler, where we do not
guard properly or early enough against kind-incorrectness. So the restricted
system is both safer and leads to clearer code.
0 commit comments