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

ImplWitness #4679

Draft
wants to merge 39 commits into
base: trunk
Choose a base branch
from
Draft

ImplWitness #4679

wants to merge 39 commits into from

Conversation

josh11b
Copy link
Contributor

@josh11b josh11b commented Dec 13, 2024

  • Change InterfaceWitness -> ImplWitness
  • Include a SpecificId in the ImplWitness. This allows the InstBlock it contains to have its own identity, allowing it to be changed as the impl is processed. Evaluation only updates the specific.
  • Create the ImplWitness at the start of the impl definition. In the future, this will be populated with the values of non-function associated constants. For now, it starts full of invalid instruction ids.
  • Implements the model suggested in Declaration and definition of impls and their associated functions #4672 .

Note that the non-SemIR testdata changes are to this file:

  • toolchain/check/testdata/impl/lookup/fail_todo_undefined_impl.carbon

FIXME: exception are these files which shouldn't be different once this PR works:

  • toolchain/check/testdata/struct/import.carbon
  • toolchain/check/testdata/struct/no_prelude/import.carbon
  • toolchain/check/testdata/tuple/import.carbon

@josh11b josh11b marked this pull request as draft December 13, 2024 01:01
@github-actions github-actions bot requested a review from zygoloid December 13, 2024 01:02
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.

1 participant