Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interface extends and type parameters extends #123

Open
kaleidawave opened this issue Mar 3, 2024 · 1 comment
Open

Interface extends and type parameters extends #123

kaleidawave opened this issue Mar 3, 2024 · 1 comment
Labels
blocking These issues are blocking the checker being used in projects enhancement New feature or request

Comments

@kaleidawave
Copy link
Owner

  • Interfaces require hoisting
  • This hoisting phase can't do type parameter extensions because the pass can't reference type annotations (they might be below, thus not seen yet and in the namespace)
  • Similar for extends, you can't do anything at registration, so this needs to be set later
  • Modifying types (specifically the eager_fixed field on PolyNature::Generic and extends on Type::Interface) isn't great (so far managed to avoid it)
    • Maybe these need to be held separately on environment/TypeStore
@kaleidawave kaleidawave added the enhancement New feature or request label Mar 3, 2024
@kaleidawave kaleidawave added the blocking These issues are blocking the checker being used in projects label Jun 20, 2024
@kaleidawave
Copy link
Owner Author

Some of this is done. Some of this requires stuff from #35. The cyclic / recursive stuff needs finishing + more tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocking These issues are blocking the checker being used in projects enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant