mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
601 B
601 B
scratch/main> builtins.merge
Tests ability checking in scenarios where one side is concrete and the other is
a variable. This was supposed to be covered, but the method wasn't actually
symmetric, so doing equate l r
might work, but not equate r l
.
Below were cases that caused the failing order.
structural type W es = W
unique ability Zoot where
zoot : ()
woot : W {g} -> '{g, Zoot} a ->{Zoot} a
woot w a = todo ()
ex = do
w = (W : W {Zoot})
woot w do bug "why don't you typecheck?"
w1 : W {Zoot}
w1 = W
w2 : W {g} -> W {g}
w2 = cases W -> W
> w2 w1