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

Introduce the aux data field to Symbolic Value #50

Merged
merged 3 commits into from
Aug 23, 2023

Conversation

iamrecursion
Copy link
Contributor

Summary

This is determined statically in the type of the symbolic value, allowing us to encode additional information in the values for different stages of the analyzer.

In particular, it is designed to ensure that during execution we use semantic equality for values, while during type checking we use identity equality for values, where that identity equality is based on the associated type variable.

This means that our type checker will no longer equate values that are structurally equal but semantically different for typing purposes, and hopefully give us more accurate results.

Details

Please check the semantic equivalence of the refactor.

Checklist

  • Code is formatted by Rustfmt.
  • Documentation has been updated if necessary.

This is determined statically in the type of the symbolic value,
allowing us to encode additional information in the values for different
stages of the analyzer.

In particular, it is designed to ensure that during execution we use
semantic equality for values, while during type checking we use
identity equality for values, where that identity equality is based on
the associated type variable.

This means that our type checker will no longer equate values that are
structurally equal but semantically different for typing purposes, and
hopefully give us more accurate results.
@iamrecursion iamrecursion added the enhancement New feature or request label Aug 23, 2023
@iamrecursion iamrecursion self-assigned this Aug 23, 2023
Copy link

@kustosz kustosz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Please open an issue to revive the tests!

@iamrecursion iamrecursion merged commit 94f4051 into main Aug 23, 2023
5 checks passed
@iamrecursion iamrecursion deleted the wip/ara/fix-inference-identity branch August 23, 2023 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants