tweag/ormolu

AST differs on comment in line before `$` in a `do` block

amesgen opened this issue · 0 comments

Describe the bug
Formatting this code with --unsafe

foo = do
  bar
    -- txt
    $ baz

yields

foo = do
  bar
  -- txt
  $
    baz

which has differing AST: The LHS of $ is now the entire do block.

Expected behavior
It should be formatted correctly, e.g. with output

foo = do
  bar $
    -- txt
    baz

The same thing happens for all infixr 0 (isHardSplitterOp) operators.

Environment

  • Version of the code: Ormolu 0.7.0.0 or 49eb083 (current master)

Additional context
This is not reproducible on the current Ormolu Live; but this is completely unrelated, will open a PR (EDIT: #1029) for that soon. Now fixed.