The MLscript programming language. Functional and object-oriented; structurally typed and sound; with powerful type inference. Soon to have full interop with TypeScript!
This PR fixes various issues with the handling of self types and adds self-type checking.
As a byproduct, it makes class constructors return proper type refs, which has the welcome benefit of simplifying some inferred recursive types by tying the knot earlier!
To deal with:
[x] Fix transitivity problems (see end of ClassSignatures.mls)
[x] Add warning when non-abstract class has an annot (did you mean to use extends?)
This PR fixes various issues with the handling of self types and adds self-type checking. As a byproduct, it makes class constructors return proper type refs, which has the welcome benefit of simplifying some inferred recursive types by tying the knot earlier!
To deal with:
extends
?)