unison icon indicating copy to clipboard operation
unison copied to clipboard

round-trip failure on ability pattern matches with multiple paramters and long constructor prefixes

Open stew opened this issue 2 years ago • 1 comments

The following fails to round-trip:

unique ability really.long.path.prefix.that.causes.a.line.wrap.Thing where
   thing: () -> () -> ()

unique ability super.long.path.prefix.that.causes.a.line.wrap.Thing where
   thing: () -> () -> ()

t1 : Request really.long.path.prefix.that.causes.a.line.wrap.Thing a -> ()
t1 = cases
  { really.long.path.prefix.that.causes.a.line.wrap.Thing.thing longlong  names -> reallyReallyReally } -> ()
  { _ } -> ()

It gets pretty printed with a line-wrap between the two arguments to the thing pattern match

stew avatar Dec 05 '23 21:12 stew

This still gets pretty-printed with a line-wrap

t1 : Request really.long.path.prefix.that.causes.a.line.wrap.Thing a -> ()
t1 = cases
  { really.long.path.prefix.that.causes.a.line.wrap.Thing.thing longlong
  names -> reallyReallyReally } -> ()
  { _ } -> ()

but it doesn’t break parsing. Does that count as fixed?

sellout avatar Aug 20 '24 23:08 sellout