esl / gradient

Gradient is a static typechecker for Elixir
Apache License 2.0
437 stars 13 forks source link

Update Gradualizer (bring in function intersections) #142

Closed erszcz closed 1 year ago

erszcz commented 1 year ago

This brings in https://github.com/josefs/Gradualizer/pull/461 and https://github.com/josefs/Gradualizer/pull/485.

It also removes the Elixir mixed_specs check, since it's now at least partially handled by function intersection type checking (i.e. a function with multiple spec clauses, aka specs mixed with another function, will not pass type checking anyway if it doesn't exhaust all its spec clauses).

erszcz commented 1 year ago

Changing to a draft, since CI fails and I have to debug it first.