mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-19 14:29:27 +03:00
750 B
750 B
Tests a case where concrete abilities were appearing multiple times in an inferred type. This was due to the pre-pass that figures out which abilities are being matched on. It was just concatenating the ability for each pattern into a list, and not checking whether there were duplicates.
structural ability T where
nat : Nat
int : Int
flo : Float
f = cases
{nat -> k} -> 5
{int -> k} -> 5
{flo -> k} -> 5
{x} -> 5
Loading changes detected in scratch.u.
I found and typechecked these definitions in scratch.u. If you
do an `add` or `update`, here's how your codebase would
change:
⍟ These new definitions are ok to `add`:
structural ability T
f : Request {g, T} x -> Nat