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

Better error message when contract makes certain rows illegal #1323

Merged
merged 13 commits into from
Jun 22, 2023

Commits on Jun 21, 2023

  1. blame caller when tail contains illegal fields

    fixes #950 by calculating the fields disallowed in a parameterized tail
    e.g. in `forall r. { x : Foo ; r }` `x` cannot be present in `r`
    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    114e201 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef7e960 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e53a27b View commit details
    Browse the repository at this point in the history
  4. appease clippy

    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    d92b48e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    35733ab View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f6407b8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    123da05 View commit details
    Browse the repository at this point in the history
  8. move constraint checking code to parser

    we check for constraints in contract checking and type checking. by
    moving it to the parser we only have to do it in one place.
    
    also, removed constraint checking for enum rows, which doesn't seem to
    have been doing anything and also we don't want it.
    `[| 'x ; e |]` does not preclude `'x` showing up in `e`
    
    added in VarKindDiscriminant for those places where we do actually just
    want the enum type. This is mostly for error reporting.
    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    eca8596 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0f6de08 View commit details
    Browse the repository at this point in the history
  10. update documentation

    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    77aeda8 View commit details
    Browse the repository at this point in the history
  11. fixup

    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    d227749 View commit details
    Browse the repository at this point in the history
  12. add tests

    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    5293e78 View commit details
    Browse the repository at this point in the history
  13. address review comments

    Radvendii committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    ebee04a View commit details
    Browse the repository at this point in the history