mirror of
https://github.com/unisonweb/unison.git
synced 2024-11-13 09:55:35 +03:00
591 B
591 B
Checks a corner case with type checking involving destructuring binds.
The binds were causing some sequences of lets to be unnecessarily recursive.
unique ability Nate where
nate: (Boolean, Nat)
antiNate: ()
sneezy: (Nat -> {d} a) -> '{Nate,d} a
sneezy dee _ =
(_,_) = nate
antiNate
dee 1
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`:
unique ability Nate
sneezy : (Nat ->{d} a) -> '{d, Nate} a