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

Separate type context pass in new analysis #14721

Closed
wants to merge 56 commits into from

Conversation

cameel
Copy link
Member

@cameel cameel commented Dec 5, 2023

Depends on #14668.
Replaces #14578.

This PR extracts type and sort context analysis from TypeInference. All the types that are given explicitly and do not have to be inferred are stored in annotations in that separate pass. This will enable let us extract processing of type class bodies from TypeInference into a separate pass in the next step (we could also just put it in the new pass).

The code already passes tests, but needs some serious cleanup before it can be considered stable.

  • Review all the TMP notes. Also take another look at all the AST handlers to make sure nothing got lost in the process.
  • Get rid or most egregious duplication. The new pass started as a copy of TypeInference and duplicates its helpers, definitions and even error codes.
  • Clean up annotations.
    • Consider renaming type in type context to something else to avoid confusion.
    • Perhaps we should already move the members, operators and typeClassFunctions to the new pass.
  • Check if we need any new tests.

ekpyron and others added 30 commits October 30, 2023 16:22
- Using the same name causes syntax ambiguities. It's also not allowed for user-defined classes and types.
Exclude list for AST JSON tests

Fix type inference shellcheck failure

Disable shellcheck SC2086
…tration-pass

Separate type class registration pass in experimental analysis
Defining built-ins in experimental analysis
…sues-to-make-tests-pass

Patch codegen issues enough to make tests pass in experimental analysis
@cameel cameel force-pushed the new-analysis-forall branch 2 times, most recently from fdb1ceb to 1a2b059 Compare December 13, 2023 17:59
@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Jan 3, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Jan 3, 2024
@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Jan 18, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Jan 18, 2024
@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Feb 10, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Feb 11, 2024
@ethereum ethereum deleted a comment from github-actions bot Feb 11, 2024
@ethereum ethereum deleted a comment from github-actions bot Feb 11, 2024
@ethereum ethereum deleted a comment from github-actions bot Feb 11, 2024
@cameel cameel force-pushed the new-analysis-forall branch 2 times, most recently from d04efe7 to cd52e5a Compare February 23, 2024 16:10
Base automatically changed from new-analysis-forall to develop February 23, 2024 16:49
Copy link

github-actions bot commented Mar 9, 2024

This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.

@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Mar 9, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Mar 9, 2024
Copy link

This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.

@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Mar 24, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Mar 25, 2024
Copy link

github-actions bot commented Apr 9, 2024

This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.

@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Apr 9, 2024
@cameel cameel removed the stale The issue/PR was marked as stale because it has been open for too long. label Apr 9, 2024
@ekpyron ekpyron closed this Apr 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants