unison/unison-src/transcripts/fix3215.output.md
Greg Pfeil 0031542faf
Add a space before code block info strings
This is for consistency with the `cmark` style. Now the blocks we still
pretty-print ourselves will match the bulk of them that `cmark`
produces.
2024-07-10 13:56:07 -06:00

752 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