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

Fix intersection-typed function calls with union-typed arguments #514

Merged
merged 17 commits into from
Mar 1, 2023

Commits on Feb 2, 2023

  1. Add test/known_problems/should_pass/call_intersection_function_with_u…

    …nion_arg_should_pass.erl
    
    And rearrange some already existing tests.
    erszcz committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    7daa1dc View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2023

  1. Fix checking intersection-typed function calls

    Specifically, calling intersection-typed functions with union-typed arguments.
    erszcz committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    301480d View commit details
    Browse the repository at this point in the history
  2. Rename: test/{known_problems ->}/should_pass/call_intersection_functi…

    …on_with_union_arg_{should_ ->}pass.erl
    erszcz committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    caee889 View commit details
    Browse the repository at this point in the history
  3. Drop the lists:map/2 spec override with overlapping clauses

    Overlapping clauses lead to an unsolvable problem when selecting which clause of an
    intersection-typed function to call.
    erszcz committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    6167a5d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c615da4 View commit details
    Browse the repository at this point in the history
  5. Fix filename:* spec overrides to make them non-overlapping

    Strictly speaking, they're not that accurate anymore,
    since any list containing even a single binary will lead to returning the result as a binary.
    It's not reflected in the current specs.
    erszcz committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    b4b008b View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2023

  1. Configuration menu
    Copy the full SHA
    73c912b View commit details
    Browse the repository at this point in the history
  2. Add test/known_problems/should_fail/call_intersection_function_with_u…

    …nion_arg_should_fail.erl
    erszcz committed Feb 4, 2023
    Configuration menu
    Copy the full SHA
    e600656 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    48bafe8 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2023

  1. Check intersection-typed function calls

    This allows arg types to select multiple matching spec clauses and uses a LUB of the result types
    as the call result type.
    erszcz committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    7b8a2aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d21974c View commit details
    Browse the repository at this point in the history
  3. Fix test/should_pass/list_concat_op_pass.erl by dropping the overlapp…

    …ing erlang:'++'/2 spec
    erszcz committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    df232ef View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    07f8b7c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4cf47ba View commit details
    Browse the repository at this point in the history
  6. Add cases with any() args to test/should_pass/call_intersection_funct…

    …ion_with_union_arg_pass.erl
    erszcz committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    79f227d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    badecdc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    792d13f View commit details
    Browse the repository at this point in the history